2017-07-20 6 views
0

J'ai créé un api de repos de botte de ressort et prévois d'utiliser log4j pour la journalisation. Je suis capable de me connecter en utilisant dailyrollingfileappender mais je n'aime pas le format du nom de fichier [app.log.date] donc j'ai essayé d'utiliser des suppléments de log4j. Je vais avoir des problèmes que j'ai une erreur quand je commence tomcatLa politique de timebasedrolling de Log4j ne fonctionnait pas pour moi

"log4j. ERREUR Impossible instancier classe [TimeBasedRollingPolicy] java.lang.ClassNotFoundException: TimeBasedRollingPolicy"

Voici mes dépendances pom.xml log4j

<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> 

Voici mon propriétés log4j fichier (actuellement modifier 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 

Voici mon appel pour auditlogger dans le code

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

S'il vous plaît aider. Je suis assez perdu Merci!

+1

Avons-nous besoin de FQN pour 'la politique de roulement'? i.e 'org.apache.log4j.rolling.TimeBasedRollingPolicy' ?? –

+0

Merci! tu es un dieu! –

+0

Veuillez marquer votre propre réponse comme acceptée. :) –

Répondre

0

La réponse a été fournie par Pete.

Le fichier de propriétés était correct, j'avais juste besoin du FQN.

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