这里给出一个log4j.properties的例子: log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n 在spring中如何配置的log4j 在web.xml中加入以下代码即可。 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> ================================================ log4j布局 自己总结一下log4j的配置,写得不是很好但是我觉得很详细,呵呵! #log4j的配置文件 #配置根日志 #格式:log4j.rootLogger=级别,输出源1,输出源2...... #其中级别有:DEBUG<INFO<WARN<ERROR<FATAL #特别注意:这里定义了高级别的日志则类中低级别的不会写入比此低的信息 #输出源是:自定义的名字 log4j.rootLogger=INFO,FILE1,FILE2,FILE3 #配置输出源所对应的辅助类 #格式:log4j.appender.输出源=类名<类名可以不同形式> log4j.appender.FILE1=org.apache.log4j.FileAppender #指定文件名 log4j.appender.FILE1.File=e:/1.log #指定布局方式(消息翻个如文件之后怎么布局) log4j.appender.FILE1.layout=org.apache.log4j.SimpleLayout #高级日志配置1 log4j.appender.FILE2=org.apache.log4j.FileAppender log4j.appender.FILE2.File=e:/2.html log4j.appender.FILE2.layout=org.apache.log4j.HTMLLayout #高级日志配置2 自定义布局 log4j.appender.FILE3=org.apache.log4j.FileAppender log4j.appender.FILE3.File=e:/3.log log4j.appender.FILE3.layout=org.apache.log4j.PatternLayout log4j.appender.FILE3.layout.conversionPattern=%t;%p;%c;%m;%d;%l;%n==================================================================== #常见的几种自定义日志 #%t:线程名称 #%p:日志级别 #%c:日志消息所在类名 <常用> #%m:消息内容 #%d:发生时间 <常用> #%l:行数 <常用> #%n:换行 <常用> #注:如果要显示中文,则需要转码native2ascii %表示output输入 p表示level c表示调用的类 m表示log时的信息 n表示回车 M表示输出log时的信息的那个方法 F表示输出log时的信息的那个文件名 L表示输出log时的信息所在类的行数 LOG4J中PatternLayout的布局参数 ConversionPattern参数的格式含义 格式名 含义 %c 输出日志信息所属的类的全名,可以在其后指定继承的层数,比如{2}输出到其父类,{3}输出到父类的父类。 %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28 %M 输出日志信息所属的函数的名称、参数类型、返回类型。 %m 输出代码中指定的信息,如log(message)中的message %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推。可以用%5p或者%-5p来强制输出5个字符,不足的在前面或者后面补充空格。 %r 输出自应用启动到输出该日志信息所耗费的毫秒数 %t 输出产生该日志事件的线程名 %f 输出日志信息所属的类的类名。(测试的结果似乎应该是%F,而且输出的是那个类的文件名) %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行 这个测试结果出入比较大。%L确实可以输出上面所说的行数。但是%l输出的却相当于%c.函数名(%F:%L)。 |
|