2016-06-10 21 views
0

Ich habe eine Spring-Boot-Anwendung. Es ruft log4j.properties von einem externen Speicherort in meinem Dateisystem ab. i Geben Sie diese Speicherort der Datei in meiner application.yml Datei:Spring Boot-Protokollierung mit log4j zu externen Datei mit freigegebenen, externen Log4j-Konfiguration

... 
logging: 
    config: ${LOG_CONFIG_LOCATION}/log4j.properties 
... 

da die log4j.properties Datei von anderen Anwendungen gemeinsam genutzt werden, in es, ich kann nicht

... 
log4j.appender.fileAppender.File=log_file_name.log 
... 

weil ... alle verwenden die Anwendungen würden auf die gleiche Datei log (wahrscheinlich nicht funktionieren b/c von io würde)

, was ich, tun möchte, ist die Anwendung des Namens in der application.yml Datei angegeben nutzen:

... 
spring: 
    application: 
    name: my_foo_application 
... 

und setzen Sie die Protokolldateinamen und Speicherort an

${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log 

Ich habe versucht, dies in der application.yml Datei:

spring: 
    application: 
    name: my_foo_application 

logging: 
    config: ${LOG_CONFIG_LOCATION}/log4j.properties 
    file: ${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log 

dies keine Wirkung hatte - ich sehe nicht die Protokolldatei in Der Ort, den ich erwarte.

i auch die 'logging.file ....' in application.yml & hat dieses Bild in die Datei log4j.properties auf Kommentar:

log4j.appender.fileAppender.File=${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log 

es auch (nicht überraschend) hatte keine Wirkung

Wie kann dies erreicht werden?

Antwort

0

Versuchen Sie, die folgende Zeile hinzuzufügen.

log4j.appender.fileAppener=org.apache.log4j.RollingFileAppender