La bibliothèque Java remplace log4j. properties


J'ai un fichier log4j. properties:

    # Root logger option
    log4j.rootLogger=WARN, stdout, file

    # Redirect log messages to console
    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

    # Redirect log messages to a log file, support file rolling.
    log4j.appender.file.append=false
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=log/pure-pentaho.log
    log4j.appender.file.MaxFileSize=5MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Cela fonctionne bien jusqu'à ce que j'inclue le bsf-2.4.0.bibliothèque jar, puis toute ma journalisation s'arrête.

Je suppose donc que cette bibliothèque remplace en quelque sorte mon enregistreur, comment puis-je le faire reprendre la journalisation ?

Modifier

OK, comme suggéré, j'ai ajouté le chemin en tant qu'option de ligne de commande et cela fonctionne:

java -Dlog4j.configuration=file:./run/log4j.properties -cp ./lib/*:./run myApp &
Author: crankshaft, 2016-09-09

1 answers

Il semble qu'il y ait plusieurs fichiers log4j.properties dans le classpath, et log4j n'a pas récupéré le vôtre.

Vous pouvez renommer votre fichier, ajouter un argument JVM pour spécifier le fichier souhaité.

-Dlog4j.configuration=/home/user/mylog4j.properties

Pour définir des arguments JVM sur Eclipse, faites un clic droit sur le projet > Exécuter sous > Exécuter les configurations... > Arguments > Arguments VM

 1
Author: Rocherlee, 2016-09-09 07:48:02