2014-10-24 3 views
8

Sieht aus wie Java-Entwickler zu vermeiden mit log4j.yaml Anmeldung sie bevorzugen log4j.xml zu verwenden, anstattJava Logging mit log4j und log4j.yaml

Ich weiß, dass es eine Unterstützung für diese in log4j v2 ist aber nicht verstehen, Warum im Internet gibt es dazu keine detaillierte Dokumentation?

Ich fand eine Menge Dokumentation Python/Ruby Logging und Yaml. Ich weiß, dass Java eine alte Sprache ist, verstehe aber nicht, warum Java-Entwickler nicht an neuen Dingen interessiert sind.

Update:

herausgefunden, wie zu tun, es war hart;)

log4j2.yml oder log4j2-test.yml

# why yaml http://jessenoller.com/blog/2009/04/13/yaml-aint-markup-language-completely-different 

status: WARN 
monitorInterval: 900 # 15 min = 900 sec 

properties: 
    property: 
     - 
      name: pattern_layout_console 
      value: "%d - [%t] %-5p - %c - %M(%L) | %m%n" 

     - 
      name: pattern_layout_console_no_threads 
      value: "%d - %-5p - %c - %M(%L) | %m%n" 

     - 
      name: log_path 
      value: "./logs" 

appenders: 
    console: 
     - 
      name: CONSOLE 
      PatternLayout: 
      pattern: "${pattern_layout_console_no_threads}" 

    file: 
     - 
      name: DEBUG_FILE 
      fileName: ${log_path}/debug.log 
      PatternLayout: 
       pattern: "${pattern_layout_console}" 
      append: false 

     - 
      name: INFO_FILE 
      fileName: ${log_path}/info.log 
      PatternLayout: 
       pattern: "${pattern_layout_console_no_threads}" 
      append: false 

######## .....  

loggers: 
    logger: 
     - 
      name: ch.company.module 
      additivity: false 
      appenderRef: 
       - 
        ref: DEBUG_FILE 
        level: DEBUG 
       - 
        ref: INFO_FILE 
        level: INFO 
       - 
        ref: WARN_FILE 
        level: WARN 
       - 
        ref: ERROR_FILE 
        level: ERROR 
    root: 
     level: INFO 
     appenderRef: 
       ref: CONSOLE 

pom.xml

.... 
<dependencies> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>2.4.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.4.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>2.4.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.dataformat</groupId> 
     <artifactId>jackson-dataformat-yaml</artifactId> 
     <version>2.4.3</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-slf4j-impl</artifactId> 
     <version>2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-1.2-api</artifactId> 
     <version>2.1</version> 
    </dependency> 
    ... 
+0

Was ist Ihre Frage? Wenn Sie nach der Psychologie von Computerprogrammierern fragen, sind das ungefähr 23 Millionen Meilen außerhalb des Themas! –

+0

Ich interessiere mich für technische Antworten, vor allem, warum Sie (@StephenC) wählen werden, um yaml für die Anmeldung in Java zu vermeiden? –

+2

Weil ich bessere Dinge zu tun habe, als auf einen Ersatz für eine Technologie zu wechseln, die in diesem Kontext gut funktioniert. Wie sie sagen, "wenn es nicht kaputt ist, repariere es nicht". –

Antwort

0

Die Frage scheint zu sein "Warum verwenden Leute XML-Konfiguration anstatt YAML-Konfiguration?"

Die Antwort wie @Stephen C suggeriert, ist Geschichte. Log4j 2 wurde im Jahr 2014 und added YAML and JSON configuration format Unterstützung veröffentlicht. Dies bedeutet, dass Ihre Optionen für log4j-Konfigurationsdateien von 2001 bis 2014 entweder XML- oder Eigenschaftendateien waren (die Konfiguration über Eigenschaftendateien wurde in log4j 2 entfernt).