【问题标题】:log4j2: log to rolling file and stdout using propertieslog4j2:使用属性记录到滚动文件和标准输出
【发布时间】:2019-08-12 17:20:49
【问题描述】:

我想创建一个记录器,它可以同时记录到滚动文件和我的控制台。每个单独工作都很好,但结合起来只有滚动工作。也许我做错了什么并且没有正确理解 log4j2。

我希望有人可以帮助我。

我的属性文件如下:

status = error

name = PropertiesConfig

filters = threshold

filter.threshold.type = ThresholdFilter

filter.threshold.level = debug

appenders = console, rolling

appender.console.type = Console

appender.console.name = STDOUT

appender.console.layout.type = PatternLayout

appender.console.layout.pattern = %-4r %-5p [%t] %c - %m%n

appender.rolling.type = RollingFile

appender.rolling.name = RollingFile

appender.rolling.fileName = mypathtofilehere

appender.rolling.filePattern = CrashDesigner-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz

appender.rolling.layout.type = PatternLayout

appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

appender.rolling.policies.type = Policies

appender.rolling.policies.size.type = SizeBasedTriggeringPolicy

appender.rolling.policies.size.size=10MB

appender.rolling.strategy.type = DefaultRolloverStrategy

appender.rolling.strategy.max = 40

loggers = rolling.file

logger.rolling.file.name = com.myapp

logger.rolling.file.level = debug

logger.rolling.file.additivity = false

logger.rolling.file.appenderRefs = rolling

logger.rolling.file.appenderRef.rolling.ref = RollingFile

rootLogger.level = debug

rootLogger.appenderRefs = stdout

rootLogger.appenderRef.stdout.ref = STDOUT

【问题讨论】:

    标签: log4j2


    【解决方案1】:

    我在这里看到了两种可能性。要么

    1. 将以下行更改为 true:logger.rolling.file.additivity = true

    2. 添加第二个 AppenderRef logger.rolling.file.appenderRef.stdout.ref = STDOUT

    您还应该删除带有.appenderRefs 的行。 log4j2 中没有这样的 appenderRefs 实体。

    【讨论】:

      【解决方案2】:

      每个记录器可以写入多个附加程序。为此,它应该引用所有这些附加程序,这可以使用 appenderRefs 来实现。

      logger.rolling.file.appenderRefs = rolling, stdout
      
      logger.rolling.file.appenderRef.rolling.ref = RollingFile
      
      logger.rolling.file.appenderRef.stdout.ref = STDOUT
      

      这将使记录器'rolling.file'触发的每个日志事件都附加到附加程序STDOUT和RollingFle。

      【讨论】:

        猜你喜欢
        • 2013-01-13
        • 1970-01-01
        • 2017-04-13
        • 1970-01-01
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        • 2018-11-17
        • 1970-01-01
        相关资源
        最近更新 更多