代码之家  ›  专栏  ›  技术社区  ›  Dands Manuel

Log4j时基记录策略不适用于我

  •  1
  • Dands Manuel  · 技术社区  · 9 年前

    “log4j:错误无法实例化类[TimeBasedRollingPolicy]。 java.lang.ClassNotFoundException:TimeBasedRollingPolicy“

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>apache-log4j-extras</artifactId>
            <version>1.2.17</version>
        </dependency>
    

    这是我的log4j属性文件(当前正在修改auditLogger)

    log4j.rootLogger=INFO, stdout
    log4j.logger.auditLogger = INFO, auditLogger
    
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    
    log4j.appender.generalLogger=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.generalLogger.File=C:\\logs\\sms-syslog.log
    log4j.appender.generalLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.generalLogger.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.generalLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    log4j.category.generalLogger=INFO, generalLogger
    log4j.additivity.generalLogger=false
    
    log4j.appender.auditLogger=org.apache.log4j.rolling.RollingFileAppender
    log4j.appender.auditLogger.rollingPolicy=TimeBasedRollingPolicy
    log4j.appender.auditLogger.File=C:\\logs\\sms-audit.log
    log4j.appender.auditLogger.rollingPolicy.FileNamePattern=C:\\logs\\sms-audit-%d{yyyy-MM-dd}.log
    log4j.appender.auditLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.auditLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p: %m%n
    log4j.additivity.auditLogger=false
    

    private static final Logger auditLogger = Logger.getLogger("auditLogger");
    

    请帮忙。我完全迷路了谢谢!

    2 回复  |  直到 9 年前
        1
  •  0
  •   Anshul Sharma    9 年前

    使用以下依存关系 TimeBasedRollingPolicy :

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.2.2</version>
    </dependency>
    

    https://examples.javacodegeeks.com/enterprise-java/logback/logback-rollingfileappender-example/

        2
  •  0
  •   Dands Manuel    9 年前

    所以答案是由皮特提供的。

    属性文件很好,我只需要FQN。

    log4j.appender.auditLogger.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy