有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在log4j中定义的所有log4j附加器。游戏中的属性

我的log4j。属性文件粘贴在下面。我的理解是,我们需要将appender添加到root记录器中,以便appender工作。正如您在下面的属性文件中所看到的,只有appender A附加到根记录器(log4j.rootLogger=info,A)。但是,我看到的是日志信息同时打印到了Appender(ConsoleAppender-A和File Appender-B)。这怎么可能

log4j.rootLogger=info, A
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%-4r [%t] [rid=%X{RID} ] %-5p %c %x - %m%n

log4j.appender.B=org.apache.log4j.FileAppender
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.file=target/server.log
log4j.appender.B.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

共 (1) 个答案

  1. # 1 楼答案

    事实证明,控制台appender(A)正在打印到服务器上。log(glassfish log),顺便说一句,它也是与appender B关联的日志文件的名称

    以下属性附加到glassfish服务器(启动参数),这有助于我了解哪个log4j。属性(如果是零散的属性文件)文件与用于记录的附加器等信息一起加载

    -Dlog4j.debug=true