2014-10-24 15 views
8

Sembra che gli sviluppatori Java sono evitando la registrazione con log4j.yaml preferiscono usare log4j.xml inveceregistrazione Java con log4j e log4j.yaml

So che c'è un supporto per questo in log4j v2, ma non capisco perché su internet non ci sono documenti dettagliati relativi a questo?

Ho trovato un sacco di documentazione python/ruby ​​logging e yaml. So che java è un linguaggio vecchio ma non capisco perché gli sviluppatori java non siano interessati a cose nuove.

Aggiornamento:

trovato il modo di fare, è stato difficile;)

log4j2.yml o 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

Qual è la tua domanda? Se stai chiedendo della psicologia dei programmatori di computer, è circa 23 milioni di miglia fuori tema! –

+0

Sono interessato alle risposte tecniche, soprattutto perché tu (@StephenC) sceglierai di evitare yaml per l'accesso a java? –

+2

Perché ho cose migliori da fare che passare a un sostituto di una tecnologia che funziona bene in questo contesto. Come si suol dire, "se non è rotto, non aggiustarlo". –

risposta

0

La domanda sembra essere "Perché le persone utilizzano la configurazione XML anziché la configurazione YAML?"

La risposta come @Stephen C suggerisce è cronologia. Log4j 2 è stato rilasciato nel 2014 e il supporto added YAML and JSON configuration format. Ciò significa che dal 2001 al 2014, le opzioni per i file di configurazione di log4j erano XML o file di proprietà (la configurazione tramite i file delle proprietà è stata rimossa in log4j 2).

Problemi correlati