[J2EE]Log4j配置说明

J2EE-Log4j配置说明

  • 配置根Logger,语法为

    log4j.rootLogger=[level],appenderName,appenderName2,…

  • level级别种类

    • ALL
    • ERROR:严重错误,主要是程序错误
    • WARN:一般警告,比如session丢失
    • INFO:一般显示信息,比如登录登出
    • DEBUG:程序的调试信息
  • 配置日志信息输出目的地

    log4j.appender.appenderName=fully.qualified.name.of.appender.class

    • org.apache.log4j.ConsoleAppender:控制台
      • Threshold=DEBUG:指定日志信息的输出最低层次
      • ImmediateFlush=TRUE:默认值是true,所有的消息都会被立即输出
      • Target=System.err:默认值是System.out,输出到控制台(err为红色,out为黑色)
    • org.apache.log4j.FileAppender:文件
      • Threshold=INFO:指定日志信息的输出最低层次
      • ImmediateFlush=TRUE:默认值是true,所有的消息都会被立即输出
      • File=Path/to/log/file:指定消息输出到“Path/to/log/file”文件
      • Append=FALSE:默认值是true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
      • Encoding=UTF-8:可以指定文件的编码格式
    • org.apache.log4j.DailyRollingFileAppender:每天产生一个日志文件
      • Threshold=WARN:指定日志消息的输出最低层次
      • ImmediateFlush=TRUE:默认值是true,所有的消息都会被立即输出
      • File=Path/to/log/file:指定消息输出到“Path/to/log/file”文件
      • Append=FALSE:默认值是true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
      • DatePattern=’.’yyyy-ww:每周滚动一次文件,即每周产生一个新的文件,还可以使用以下参数:
        • ‘.’yyyy-MM:每月
        • ‘.’yyyy-ww:每周
        • ‘.’yyyy-MM-dd:每天
        • ‘.’yyyy-MM-dd-a:每天两次
        • ‘.’yyyy-MM-dd-HH:每小时
        • ‘.’yyyy-MM-dd-HH-mm:每分钟
      • Encoding=UTF-8:可以指定文件的编码格式
    • org.apache.log4j.RollingFileAppender:文件大小到达指定大小的时候产生一个新文件
      • Threshold=ERROR:指定日志消息的输出最低层次
      • ImmediateFlush=TRUE:默认值是true,所有的消息都会被立即输出
      • File=Path/to/log/file:指定消息输出到“Path/to/log/file”文件
      • Append=FALSE:默认值是true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
      • MaxFileSize=100KB:后缀可以是KB,MB,GB。在日志文件到达该大小时,将会自动滚动新增一个文件。如example.log.1
      • MaxBackupIndex=2:指定可以产生的滚动文件的最大数
      • Encoding=UTF-8:可以指定文件的编码格式
    • org.apache.log4j.WriterAppender:将日志信息以流格式发送到任意指定的地方
  • 配置日志信息的格式

    log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class

    • org.apache.log4j.HTMLLayout:以HTML表格形式布局
      • LocationInfo=TRUE:默认值是false,输出java文件名称和行号
      • Title=XXX Log Message:默认值是Log4jLog Message
    • org.apache.log4j.PatternLayout:可以灵活地指定布局模式
      • ConversionPattern=%m%n:格式化指定的恶消息
        • %m:输出代码中指定的消息
        • %p:输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
        • %r:输出自应用启动到输出该log信息耗费的毫秒数
        • %c:输出所属的类目,通常就是所在类的全名,包括包名,如:com.gaussli.helloworld.HelloWorld
        • %t:输出产生该日志事件的线程名
        • %n:输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
        • %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy年MM月dd日 HH:mm:ss,SSS},输出为:2017年07月26日 15:22:34,145
        • %l:输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数,如:”Helloworld.main(HelloWorld.java:10)”
        • %F:输出日志消息产生时所在文件名称,不包括包名,如:HelloWorld.java
        • %L:输出代码中的行号
        • %x:输出和当前线程相关联的NDC(嵌套诊断环境),像java servlets多客户多线程的应用中
        • %%:输出一个“%”字符
      • 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
        • %5c:输出类目全名,最小宽度是5,默认的情况下右对齐
        • %-5c:输出类目全名,最小宽度是5,“-”指定左对齐
        • %.5c:输出类目全名,最大宽度是5,将左边多出的字符截掉
        • %20.30c:输出类目全名,<20补空格,并右对齐;>30将左边多出的字符截掉
    • org.apache.log4j.SimpleLayout:包含日志信息的级别和信息字符串
    • org.apache.log4j.TTCCLayout:包含日志产生的时间、线程、类别等等信息
    • org.apache.log4j.xml.XMLLayout:以XML形式布局
  • 指定特定包的输出特定的级别

    log4j.logger.org.springframework=DEBUG

(•̀ᴗ•́)و ̑̑

Share