使用log4j按包名输出日志

来源:互联网 发布:漫步者音响怎么样 知乎 编辑:程序博客网 时间:2024/05/21 21:43
使用log4j按包名输出日志
首先正常配制log4j.properties文件。
此文件中配制的日志输出级别是info,并输出到file和console中。
log4j.properties

log4j.rootLogger=info,file,console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=E:/wdpk/work/cms/log/log.txt

log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n


下面配制根据指定的包名,将日志输出到指定的日志文件中
log4j.additivity.com.wind.cms.login=false #additivity的作用在于 children-logger是否使用 rootLogger的配置
log4j.appender.login=org.apache.log4j.RollingFileAppender
log4j.appender.login.File=E:/wdpk/work/cms/log/login.txt
log4j.appender.login.layout=org.apache.log4j.PatternLayout
log4j.appender.login.layout.ConversionPattern=%t %p - %m%n

通过上述配制后com.wind.cms.login包下的日志为输出到login.txt文件中,而不是log.txt文件中。

注意事项:
如果log4j.additivity设置为true,当前logger没有设置的属性会继承父logger的属性
如果log4j.additivity设置为false,当前logger没有设置的属性不会继承父logger的属性,必须进行设置,否侧不会输出日志,
可以这样认为,因为属性没有设置,取到的属性为空,又没有默认属性值,所以调用就直接返回了。


原创粉丝点击