代码之家  ›  专栏  ›  技术社区  ›  Subhajit Pal

使用多个自定义滚动文件追加器时出现Log4j2问题

  •  1
  • Subhajit Pal  · 技术社区  · 7 年前

    当我尝试使用以下代码访问appender时

    private static final Logger LOGGER = LogManager.getLogger("ejdk");
    LOGGER.info("test");
    

    它将条目记录在seriesnresponse appender中,而不是ejdk appender中。我的log4j2有多个自定义附加器。我需要在不同的类文件中使用不同的appender,它应该在正确的文件中记录条目。

    rootLogger.level = WARN
    appenders = sdw,ejdk,SeriesInResponse
    rootLogger.appenderRefs = sdw
    rootLogger.appenderRef.sdw.ref = RollingFile
    appender.sdw.type = RollingFile
    appender.sdw.name = RollingFile
    appender.sdw.fileName=G:/ApplicationLogs/sdw_internal_server.log
    appender.sdw.filePattern=G:/ApplicationLogs/sdw_internal_server-%d{yyyy-MM- 
    dd}.log.zip
    appender.sdw.layout.type = PatternLayout
    appender.sdw.layout.pattern = %d{ISO8601} %-5p [%t] (%13F:%L) %3x - %m%n
    appender.sdw.policies.type = Policies
    
     # Rotate log file each day and keep 60 days worth
    appender.sdw.policies.time.type = TimeBasedTriggeringPolicy
    appender.sdw.policies.time.interval = 1
    appender.sdw.policies.time.modulate = true
    appender.sdw.strategy.type = DefaultRolloverStrategy
    appender.sdw.strategy.delete.type = Delete
    appender.sdw.strategy.delete.basePath = ${application.log}
    appender.sdw.strategy.delete.maxDepth = 1
    appender.sdw.strategy.delete.ifLastModified.type = IfLastModified
    # Delete files older than 30 days
    appender.sdw.strategy.delete.ifLastModified.age = 30d
    
    loggers = ejdk,SeriesInResponse
    
    logger.ejdk.name = ejdk
    logger.ejdk.level = INFO
    logger.ejdk.additivity = false
    logger.ejdk.appenderRef.ejdk.ref = RollingFile
    appender.ejdk.type = RollingFile
    appender.ejdk.name = RollingFile
    appender.ejdk.fileName=G:/ApplicationLogs/sdw_internal_ejdk.log
    appender.ejdk.filePattern=G:/ApplicationLogs/sdw_internal_ejdk.log-%d{yyyy- 
    MM-dd}.log.zip
    appender.ejdk.layout.type = PatternLayout
    appender.ejdk.layout.pattern = %d{ISO8601} %-5p [%t] (%13F:%L) %3x - %m%n
    appender.ejdk.policies.type = Policies
    
    # Rotate log file each day and keep 60 days worth
    appender.ejdk.policies.time.type = TimeBasedTriggeringPolicy
    appender.ejdk.policies.time.interval = 1
    appender.ejdk.policies.time.modulate = true
    appender.ejdk.strategy.type = DefaultRolloverStrategy
    appender.ejdk.strategy.delete.type = Delete
    appender.ejdk.strategy.delete.basePath = ${application.log}
    appender.ejdk.strategy.delete.maxDepth = 1
    appender.ejdk.strategy.delete.ifLastModified.type = IfLastModified
    # Delete files older than 30 days
    appender.ejdk.strategy.delete.ifLastModified.age = 30d
    
    logger.SeriesInResponse.name = SeriesInResponse
    logger.SeriesInResponse.level = INFO
    logger.SeriesInResponse.additivity = false
    logger.SeriesInResponse.appenderRef.SeriesInResponse.ref = RollingFile
    appender.SeriesInResponse.type = RollingFile
    appender.SeriesInResponse.name = RollingFile
    appender.SeriesInResponse.fileName=G:/ApplicationLogs/sdw_internal_series_responses.log
    appender.SeriesInResponse.filePattern=G:/ApplicationLogs/sdw_internal_series_responses.log-%d{yyyy-MM-dd}.log.zip
    appender.SeriesInResponse.layout.type = PatternLayout
    appender.SeriesInResponse.layout.pattern = %d{ISO8601} %m%n
    appender.SeriesInResponse.policies.type = Policies
    
    # Rotate log file each day and keep 60 days worth
    appender.SeriesInResponse.policies.time.type = TimeBasedTriggeringPolicy
    appender.SeriesInResponse.policies.time.interval = 1
    appender.SeriesInResponse.policies.time.modulate = true
    appender.SeriesInResponse.strategy.type = DefaultRolloverStrategy
    appender.SeriesInResponse.strategy.delete.type = Delete
    appender.SeriesInResponse.strategy.delete.basePath = ${application.log}
    appender.SeriesInResponse.strategy.delete.maxDepth = 1
    appender.SeriesInResponse.strategy.delete.ifLastModified.type = IfLastModified
    # Delete files older than 30 days
    appender.SeriesInResponse.strategy.delete.ifLastModified.age = 30d
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   riskop    7 年前

    您应该为附加项使用不同的名称。

    改变

    appender.ejdk.name=滚动文件

    类似地更正其他Appander和AppenderRef。

    推荐文章