【问题标题】:Apache Flink RollingFileAppenderApache Flink RollingFileAppender
【发布时间】:2017-08-22 06:26:26
【问题描述】:

我正在使用 Apache Flink v1.2。我想切换到滚动文件附加程序以避免包含数天数据的巨大日志文件。但是,它似乎不起作用。我调整了 log4j 配置 (log4j.properties) 如下:

log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.file.DatePattern='.' yyyy-MM-dd-a'.log'
log4j.appender.file.MaxBackupIndex = 15
log4j.appender.file.append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n

首先它抱怨找不到org.apache.log4j.rolling.RollingFileAppender。所以我将它切换到org.apache.log4j.RollingFileAppender,然后它说RollingPolicyDatePattern 不是RollingFileAppender 的有效属性。

其他人是否遇到过同样的问题/您能建议此配置有什么问题吗?

【问题讨论】:

    标签: apache-flink flink-streaming


    【解决方案1】:

    为了使用RollingFileAppender,您首先必须将apache-log4j-extras-1.2.17.jar 添加到您的类路径中(例如,将其添加到Flink 的lib 文件夹中)。

    接下来您必须对其进行配置并指定FileNamePattern,然后再指定RollingPolicy。通过以下log4j.properties 文件,我可以使用RollingFileAppender

    log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender
    log4j.appender.file.RollingPolicy.FileNamePattern=logs/log.%d{yyyyMMdd-HHmm}.log
    log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
    log4j.appender.file.append=false
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
    

    【讨论】:

    • 谢谢!同时我还发现“log4j-extras”依赖项不确定为什么默认不包含它。
    猜你喜欢
    • 1970-01-01
    • 2016-11-13
    • 2016-09-24
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多