首页 / 知识
关于java:Log4j:为什么无论配置如何,root logger都会收集所有日志类型?
2023-04-16 19:21:00

Log4j: Why is the root logger collecting all log types regardless the configuration?我有一个问题,即使我在根标记中将级别指定为ERROR,指定的附加程序也会将所有级别(调试,信息,警告)记录到文件中,而不管设置如何。 我不是log4j专家,所以不胜感激。 以下是有关该主题的更多信息:
这是log4j.xml文件:
如果我用另一个记录器替换根,那么什么都不会记录到指定的附加程序。
...并且感谢你们到目前为止的提示:-) 根记录器位于记录器层次结构的顶部。它在三种方式上是例外的:
rootLogger是所有添加程序的父亲。给定记录器的每个启用的日志记录请求都将转发给该记录器中的所有附加程序以及层次结构中较高的附加程序(包括rootLogger)
例如,如果将 从log4j手册 总结一下: 如果不想将日志记录事件传播给父级记录器(例如rootLogger),则在这些记录器中将可加性标志添加为false。在您的情况下:
在标准的log4j配置样式(我更喜欢XML)中:
希望这可以帮助。 使用-Dlog4j.debug运行程序,以便标准输出获取有关如何配置log4j的信息-我怀疑它没有按照您认为的方式进行配置。 补充一下James A. N. Stauffer和cynicalman所说的-我敢打赌,您的类路径上还有另一个log4j.xml / log4j.properties,而不是您希望使用的那个,它导致log4j自行配置。
两件事情:检查可加性,并确定是否希望由更详细的日志记录级别捕获的日志事件传播到根记录器。 其次,检查根记录器的级别。此外,您还可以在附加程序本身上添加过滤,但是通常不需要这样做。
如果您使用的是 这是正确的行为。根记录器类似于默认行为。因此,如果您未指定任何记录器,它将采用根记录器级别作为默认级别,但这并不意味着根记录器级别是所有日志的级别。 使用'TraceLogger'记录器或'org.springframework.ws.server.endpoint.interceptor'记录器记录的任何代码都将分别使用TRACE和DEBUG级别记录消息,而其他任何代码将使用root记录器来使用级别记录消息,即在您的情况下为ERROR。 因此,如果您使用除root以外的其他记录器,则根日志级别将被该记录器的日志级别覆盖。要获得所需的输出,请将其他两个日志级别更改为ERROR。 我希望这是有帮助的。 |
最新内容
相关内容
linux内核配置命令?
linux内核配置命令?,工作,系统,管理,环境,信息,命令,工具,软件,设备,服务,调出内核环境配置菜单命令1、查看/usr/src/linux/.config文件:这是在linux进入配置的命令?
linux进入配置的命令?,网络,地址,服务,系统,状态,工作,信息,技术指标,最新,环境,在linux下如何通过命令查网卡配置1、linux查看系统网卡信息的linux设置日志命令行?
linux设置日志命令行?,异常,系统,实时,日志,管理,信息,对比,项目,名称,情况,Linux运维知识:从命令行如何查看Linux日志如下图所示,先cd到我们需linux配置网络命令?
linux配置网络命令?,系统,地址,工作,网络,代码,信息,工具,名字,设备,命令,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux定位日志命令?
linux定位日志命令?,系统,信息,对比,日志,位置,时间,名称,实时,文件,命令,linux系统日志文件的位置命令在 Linux 系统中,日志文件通常保存在 /vlinux收集日志的命令?
linux收集日志的命令?,系统,实时,信息,对比,日志,名称,时间,命令,文件,事件,如何实时查看linux下的日志tail 命令:可以实时查看文件的最后几行linux取日志的命令?
linux取日志的命令?,系统,信息,对比,日志,时间,实时,名称,命令,文件,事件,linux中怎样查看日志less /var/log/syslog 该命令会打开 /var/log/slinux重启日志命令?
linux重启日志命令?,系统,电脑,时间,情况,日志,信息,实时,官网,对比,标准,如何查看linux的重启记录,1、last命令可以用于显示用户登录情况。返linux日志拷贝命令?
linux日志拷贝命令?,系统,信息,下来,服务,位置,数据,文件,命令,日志,指令,Linux文件拷贝命令?1、linux系统使用cp命令即可将一个文件夹里面的配置linux命令行颜色?
配置linux命令行颜色?,系统,地址,电脑,分析,代码,信息,设备,终端,颜色,命令,Linux有什么命令可以更改控制台背景色1、Linux命令行的背景默认是linux配置相关的命令?
linux配置相关的命令?,网络,地址,系统,工具,代码,状态,命令,信息,管理,初级,配置LINUX的IP命令(1)Ifconfig命令 第一种使用ifconfig命令配置网卡linux配置网卡的命令?
linux配置网卡的命令?,网络,信息,系统,工具,代码,地址,设备,工作,电脑,最新,ifconfig配置或显示网络接口信息-linux运维1、ifconfig命令用于配