千家信息网

log4j中rootLogger的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关log4j中rootLogger的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。log4j的rootLogger及其他坑爹地方这里用的是o
千家信息网最后更新 2026年11月03日log4j中rootLogger的示例分析

这篇文章给大家分享的是有关log4j中rootLogger的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

log4j的rootLogger及其他坑爹地方

这里用的是org.apache.log4j.Logger

log4j.rootLogger=error, stdout log4j.appender.appenderName=org.apache.log4j.AsyncAppender  log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n#only time no date.outfile1 has date log4j.logger.com.ht=info,outfile1 log4j.appender.outfile1=org.apache.log4j.RollingFileAppenderlog4j.appender.outfile1.File=log/ht.loglog4j.appender.outfile1.MaxFileSize=100MBlog4j.appender.outfile1.MaxBackupIndex=50log4j.appender.outfile1.layout=org.apache.log4j.PatternLayoutlog4j.appender.outfile1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n log4j.logger.com.ht.log=info,outfile2 log4j.appender.outfile2=org.apache.log4j.RollingFileAppenderlog4j.appender.outfile2.File=log/ht2.loglog4j.appender.outfile2.MaxFileSize=100MBlog4j.appender.outfile2.MaxBackupIndex=50log4j.appender.outfile2.layout=org.apache.log4j.PatternLayoutlog4j.appender.outfile2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

然后有两个类,Test1在com.ht包下面,Test2在com.ht.log包下面。每个下面打印一句:logger.info();

经过试验发现!!!!

Test1将输出到控制台和ht.log

Test2将输出到控制台和ht.log和ht2.log

注意这里rootLogger的级别可是error,可见这里的级别不起作用。

对于申明appender的包rootLogger的级别设置不起作用

其实,这里的error只对于没有申明appender的包才起作用。如果去掉log4j.logger.com.ht.log这一句,Test1没有任何输出,除非logger.error才会输出到控制台。

第二点:凡是申明appender的包,不论申明级别一定会包含rootLogger的输出,如果同时指定了outfile,那么日志会出现两份。

第三点:com.ht.log这个包下面的类可以匹配到所有上级目录的设置。

日志怎么设置要想清楚啊!不然这一句打到控制台那句打到文件,出问题了查出来的日志不连贯,好几个文件查来查去。

log4j.additivity.com.ht=false 可以不写入rootLogger。默认是true

log4j rootLogger配置

log4j.rootLogger=INFO,db语法为

log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
  • level:是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。

比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

例如:

log4j.rootLogger=info,A1,B2,C3 配置了3个输出地方,这个名字可以任意(如上面的db),但必须与我们在后面进行的设置名字对应;

感谢各位的阅读!关于"log4j中rootLogger的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

级别 输出 日志 控制 控制台 作用 信息 地方 示例 分析 优先级 内容 同时 名字 应用程序 文件 更多 程序 篇文章 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技图片 苏州找大状互联网科技有限公司 互联网科技巨头监管 深圳恒合互联网络科技有限公司 互联网金融监管科技数据 科技与互联网发展 奇酷互联网科技 互联网科技logo 互联网科技小额贷款 顺网科技2021年互联网排名 北京三清互联网科技 济南华为互联网科技产业总部基地 成都互联网科技公司100强 现代互联网科技股 广州恒生互联网科技有限 深圳市优智互联网科技有限公司 互联网与数字科技关系 南京一网一红互联网科技有限公司 互联网科技博主张洲 东风日产互联网科技公司叫什么 一五八零互联网科技 上海电发互联网科技有限公司 宁夏众和广鑫互联网科技有限公司 互联网科技与管理 阿大互联网科技有限公司 企晟互联网信息科技有限公司 深圳市罗太互联网科技有限公司 互联网科技实习生岗位 福建互联网展示科技馆设计 互联网科技大会大佬
0