![]() |
1
72
根记录器位于记录器层次结构的顶部。它有三个例外:
rootlogger是所有appender的父亲。为给定记录器启用的每个日志记录请求都将转发给该记录器中的所有附加程序以及层次结构中较高的附加程序(包括rootlogger)
例如,如果
来自log4j手册 总而言之: 如果不想将日志事件传播到父日志记录器(比如rootlogger),那么在这些日志记录器中将additivity标志添加到false。就你而言:
在标准log4j配置样式(我更喜欢xml)中:
希望这有帮助。 |
![]() |
2
8
使用-dlog4j.debug运行您的程序,以便standard out获得有关log4j配置方式的信息——我怀疑它的配置方式与您想象的不同。 |
![]() |
3
5
再加上james a.n.stauffer和愤世嫉俗的人所说的话——我敢打赌,在你的类路径上还有另外一个log4j.xml/log4j.properties,而不是你希望使用的那个导致log4j按原样配置自身的log4j.xml/log4j.properties。
|
![]() |
4
4
两件事:检查additivity并决定是否希望日志事件被更详细的日志级别捕获,以传播到根日志记录器。 其次,检查根记录器的级别。此外,您还可以在appender本身上添加过滤,但这通常是不必要的。 |
![]() |
5
2
如果你在使用
|
|
6
0
这是正确的行为。根记录器与默认行为类似。因此,如果不指定任何日志记录器,它将以根日志记录器级别作为默认级别,但这并不意味着根日志记录器级别是所有日志的级别。 使用“trace logger”记录器或“org.springframework.ws.server.endpoint.interceptor”记录器记录消息的任何代码将分别使用跟踪和调试级别任何其他代码将使用根记录器记录使用级别的消息,这在您的情况下是错误的。 因此,如果使用的不是根日志记录器,则根日志级别将被该记录器的日志级别覆盖。要获得所需的输出,请将其他两个日志级别更改为error。 我希望这对你有帮助。 |
![]() |
MattWeiler · 项目使用Log4j2,但依赖项使用Log4j 7 年前 |
|
user5444681 · 如何在包覆面提取容器中使用log4j2? 7 年前 |
![]() |
Allan Peres · Log4j不创建日志文件,只创建控制台 7 年前 |
![]() |
mtkarakaya · 替换包含环境变量的路径字符串 7 年前 |
![]() |
m.francia · 如何配置log4j以发送wowza日志? 7 年前 |
![]() |
khaled · 在Robot框架中,如何在执行期间登录到控制台 7 年前 |
![]() |
user2953788 · log4j。性能过滤火花和纱线原木 7 年前 |