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>
...
Qual è la tua domanda? Se stai chiedendo della psicologia dei programmatori di computer, è circa 23 milioni di miglia fuori tema! –
Sono interessato alle risposte tecniche, soprattutto perché tu (@StephenC) sceglierai di evitare yaml per l'accesso a java? –
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". –