//设置根模块FILE日志输出
log4j.rootLogger=INFO,FILE 设置日志的级别为INFO,其日志信息输出地为FILE(FILE模块在下文中配置),如果要在控制台输出,可以在FILE加上CONSOLE。
日志级别:DEBUG<INFO<WRAN<ERROR<FATAL(致命的错误)
//设置paycheck支付模块x1日志输出
log4j.logger.paycheck=INFO,x1
log4j.additivity.paycheck=false
//设置access登陆模块x2日志输出
log4j.logger.accessLog=INFO,x2
log4j.additivity.accessLog=false
//配置日志输出源信息console
log4j.appender.console=org.apache.log4j.ConsoleAppender 配置className,ConsoleAppender表示控制台
log4j.appender.console.threshold=INFO 指定日志信息的最低输出级别,默认为DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout 灵活的指定布局模式
四种类型:HTMLLayout:HTML表格形式PatternLayout:灵活指定布局模式SimpleLayout:日志信息的级别和信息字符串 TTCCLayout:日志产生的时间、线程、类别等信息
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n 设置以怎样的格式显示消息
//输出源FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
log4j.appender.file.DatePattern='.'yyyy-MM-dd 每天滚动一次日志文件
当天日志文件名为logging.log4j,前一天的日志文件名为logging.log4j.yyyy-MM-dd
log4j.appender.FILE.Append=true 消息增加到指定的文件中 false表示消息覆盖指定的文件内容
log4j.appender.FILE.File=${catalina.home}/logs/console/console.log 指定的file消息输出到cosole.log日志文件中
log4j.appender.FILE.Threshold=INFO 级别为INFO
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 灵活的指定布局模式
log4j.appender.FILE.layout.ConversionPattern=%d{MM-dd HH:mm:ss} [%5p] -%F(%L) -%m%n
%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。
%r:输出自应用程序启动到输出该log信息耗费的毫秒数。
%t:输出产生该日志事件的线程名。
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
%c:输出日志信息所属的类目,通常就是所在类的全名。
%M:输出产生日志信息的方法名。
%F:输出日志消息产生时所在的文件名称。
%L::输出代码中的行号。
%m::输出代码中指定的具体日志信息。
%n:输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"。
%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%:输出一个"%"字符。
另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:
1)%20c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。
2)%-20c:"-"号表示左对齐。
3)%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。
log4j.appender.x1=org.apache.log4j.DailyRollingFileAppender DailyRollingFileAppender表示每天产生一个日志文件
log4j.appender.x1.DatePattern='.'yyyy-MM-dd 每天滚动一个日志文件
log4j.appender.x1.Append=true 消息增加到指定的文件中
log4j.appender.x1.File=${catalina.home}/logs/console/paycheck.log 消息输出的文件名
log4j.appender.x1.Threshold=INFO 最低级别为INFO
log4j.appender.x1.layout=org.apache.log4j.PatternLayout 灵活的指定布局模式
log4j.appender.x1.layout.ConversionPattern=%d{MM-dd HH:mm:ss} [%t] [%5p] -%F(%L) -%m%n
log4j.appender.x2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.x2.DatePattern='.'yyyy-MM-dd
log4j.appender.x2.Append=true
log4j.appender.x2.File=${catalina.home}/logs/console/accessLog.log
log4j.appender.x2.Threshold=INFO
log4j.appender.x2.layout=org.apache.log4j.PatternLayout 灵活的指定布局模式
log4j.appender.x2.layout.ConversionPattern=%d{MM-dd HH:mm:ss} [%t] [%5p] %X{accountId} -%m%n
//设置jdbc模块audit审计日志输出源为jdbc
! Log all JDBC calls except for ResultSet calls
log4j.logger.jdbc.audit=FATAL,jdbc
log4j.additivity.jdbc.audit=false
//设置jdbc模块resultset结果集合日志输出源为jdbc
! Log only JDBC calls to ResultSet objects
log4j.logger.jdbc.resultset=FATAL,jdbc
log4j.additivity.jdbc.resultset=false
//设置jdbc模块sql日志输出源为sql
! Log only the SQL that is executed.
log4j.logger.jdbc.sqlonly=FATAL,sql
log4j.additivity.jdbc.sqlonly=false
//设置jdbc模块sql定时日志输出源为sqltiming
! Log timing information about the SQL that is executed.
log4j.logger.jdbc.sqltiming=DEBUG,sqltiming
log4j.additivity.jdbc.sqltiming=false
//设置jdbc模块connection日志输出源为connection
! Log connection open/close events and connection number dump
log4j.logger.jdbc.connection=FATAL,connection
log4j.additivity.jdbc.connection=false
//配置输出源sql
! the appender used for the JDBC API layer call logging above, sql only
log4j.appender.sql=org.apache.log4j.ConsoleAppender
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
log4j.appender.sql.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
//配置输出源sqltiming
! the appender used for the JDBC API layer call logging above, sql timing
log4j.appender.sqltiming=org.apache.log4j.ConsoleAppender
log4j.appender.sqltiming.Append=false
log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout
log4j.appender.sqltiming.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
//配置输出源jdbc
! the appender used for the JDBC API layer call logging above
log4j.appender.jdbc=org.apache.log4j.ConsoleAppender
log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
//配置输出源connection
! the appender used for the JDBC Connection open and close events
log4j.appender.connection=org.apache.log4j.ConsoleAppender
log4j.appender.connection.layout=org.apache.log4j.PatternLayout
log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n