【问题标题】:All log4j appenders defined in log4j.properties in play所有在 log4j.properties 中定义的 log4j appender
【发布时间】:2014-08-31 23:41:00
【问题描述】:

我的 log4j.properties 文件粘贴在下面。我的理解是,我们需要将 Appenders 添加到 root 记录器中才能使附加程序工作。正如您在下面的属性文件中看到的,只有附加程序 A 附加到根记录器 (log4j.rootLogger=info, A)。但是,我看到的是日志信息被打印到两个附加程序(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

【问题讨论】:

    标签: java logging log4j appender


    【解决方案1】:

    好吧,事实证明,控制台附加程序 (A) 正在打印到 server.log(glassfish 日志),顺便说一下,这也是与附加程序 B 关联的日志文件的名称。

    以下属性附加到 glassfish 服务器(启动参数),它帮助我了解加载了哪个 log4j.properties(如果是杂散属性文件)文件以及诸如哪些附加程序用于日志记录之类的信息。

    -Dlog4j.debug=true
    

    【讨论】:

    • 另一个注意事项是我开始使用EnhancedPatterLayout而不是官方log4j文档中提到的PatternLayOut。
    猜你喜欢
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多