首页 / 日志 / log4j日志记录简析
log4j日志记录简析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了log4j日志记录简析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2283字,纯文字阅读大概需要4分钟。
内容图文
![log4j日志记录简析](/upload/InfoBanner/zyjiaocheng/1315/e561845d4923496c9c6e1b6274e62213.jpg)
log4j的日志系统包含两个主要概念:Logger与Appender,前者负责触发日志记录动作,后者决定日志输出至何处。
各个Logger实例之间可能存在父子关系,所有实例都有一个共同的root Logger实例,如下文的第一行的rootCategory就是root Logger实例。
log4j示例文件如下:
log4j.rootCategory=info,stdout # CONSOLE appender not used by default log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c{1} %M %L - %m%n # File appender log4j.appender.perf=org.apache.log4j.RollingFileAppender log4j.appender.perf.layout=org.apache.log4j.PatternLayout log4j.appender.perf.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n log4j.appender.perf.file=Z:/logs/snc-perf-test.log log4j.appender.perf.MaxFileSize=40MB log4j.appender.perf.MaxBackupIndex=40 log4j.appender.perf.append=true log4j.appender.perf.ImmediateFlush=true log4j.appender.druid=org.apache.log4j.RollingFileAppender log4j.appender.druid.layout=org.apache.log4j.PatternLayout log4j.appender.druid.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n log4j.appender.druid.file=Z:/logs/snc-perf-druid-test.log log4j.appender.druid.MaxFileSize=40MB log4j.appender.druid.MaxBackupIndex=40 log4j.appender.druid.append=true log4j.appender.druid.ImmediateFlush=true log4j.logger.com.simiam.snc.perf=debug,perf log4j.logger.org.springframework=INFO,perf log4j.logger.druid.sql=info,druid log4j.logger.druid.sql.DataSource=info,druid log4j.logger.druid.sql.Connection=info,druid log4j.logger.druid.sql.Statement=debug,druid log4j.logger.druid.sql.ResultSet=info,druid
上面的配置文件提供了3个appender(什么是appender请google),一个将日志打印至stdout,两个保存文件。
文件中的第一行定义的日志root Logger实例:log4j.rootCategory=info,stdout ,该实例关联了stdout appender,如果没有为特定的Logger实例指定相应的appender,所有Logger实例将会使用rootCategory实例来输出日志信息(这里则只输出至console)。
最下面几行以log4j.logger开头的行指定了多个Logger实例,每个实例指定了日志级别,以及与该Logger实例相关的日志最终将使用哪个appender输出。
应用中的具体logger实例在执行相应的日志方法时【如logger.info("log some message")】则会找出该实例关联的appender并输出日志(如果logger未关联appender则不会输出),然后向上获取logger.parent再调用parent的appender输出日志,如此循环直至搜索至root。
比如如下Logger实例:
log4j.logger.druid.sql.DataSource=info,druid
会将相关日志输出至druid appender所关联的文件snc-perf-druid-test.log中,同时也会在console中打印日志信息(向上搜索至root,root关联stdout appender)。
原文:http://blog.csdn.net/cza55007/article/details/30051461
内容总结
以上是互联网集市为您收集整理的log4j日志记录简析全部内容,希望文章能够帮你解决log4j日志记录简析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。