log4j
log4j journalise la personnalisation
Recherche…
Fichier de configuration
Configuration
Le fichier de configuration Log4j peut être dans l'un des formats suivants:
- JSON
- YAML
- propriétés (fichier texte)
- XML
Découverte de la configuration
- Log4j inspectera la propriété système
log4j.configurationFileet, si elle est définie, tentera de charger la configuration. - Si aucune propriété système n'est définie, log4j recherchera
log4j2-test.propertiesdans le classpath. - Si aucun fichier de ce type n'est trouvé, log4j recherchera
log4j2-test.yamloulog4j2-test.ymldans le classpath. - Si aucun fichier de ce type n'est trouvé, log4j recherchera
log4j2-test.jsonoulog4j2-test.jsndans le classpath. - Si aucun fichier de ce type n'est trouvé, logj4 recherche
log4j2-test.xmldans le classpath. - Si un fichier de test ne peut pas être localisé, le fichier log4j recherche le
log4j2.propertiessur lelog4j2.propertiesdelog4j2.properties. - Si un fichier de propriétés ne peut pas être localisé, le fichier log4j recherche le
log4j2.yamloulog4j2.ymlsur lelog4j2.ymldelog4j2.yml. - Si un fichier YAML ne peut pas être localisé, le fichier log4j recherche le
log4j2.jsonou lelog4j2.jsnsur lelog4j2.jsndelog4j2.jsn. - Si un fichier JSON ne peut pas être localisé, log4j essaiera de localiser
log4j2.xmlsur lelog4j2.xmldelog4j2.xml. - Si aucun fichier de configuration ne peut être localisé, la configuration par défaut sera utilisée. Cela entraînera la sortie de journalisation pour aller à la console.
Configuration XML
Exemple XML
La configuration ci-dessous configure deux appenders (sortie de journal). Les premiers journaux sur la sortie du système standard (console) et les autres journaux à classer. Dans cet exemple, l'emplacement du fichier peut être défini de manière statique dans la configuration ( file appender) ou dynamiquement via la fonctionnalité de filtrage maven ( <Property name="APPENDER"> ). Les fichiers dans le fichier seront emballés par jour. Le format de Conversion Pattern format de ligne de journal est défini comme une variable.
<?xml version="1.0" encoding="UTF-8"?>
<!-- 'status' sets log level for parsing configuration file itself -->
<Configuration status="INFO">
<Properties>
<!-- Sets variable PID, if it's not present in log4j context will take value as below: -->
<Property name="PID">????</Property>
<!-- Sets variable 'LOG_PATTERN', defining how log line will look like -->
<Property name="LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{%X{usr}}{green} %clr{---}{faint}%clr{[%15.15t]}{faint} %clr{%-40.40c{1.}:%l}{cyan} %clr{:}{faint} %m%n%wEx</Property>
<!-- LOG_DIR may be set by maven filtering feature: -->
<Property name="LOG_DIR">@logging.path@</Property>
<!-- APPENDER may be set by maven filtering feature, to set 'console' or 'file' appender: -->
<Property name="APPENDER">@logging.default.appender@</Property>
</Properties>
<Appenders>
<!-- Sets console output: -->
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="${LOG_PATTERN}"/>
</Console>
<!-- Sets output to file, and names it 'file' -->
<RollingRandomAccessFile append="true" fileName="${LOG_DIR}/log4j2.log"
filePattern = "${LOG_DIR}/log4j2.%d{yyyy-MM-dd}.nr%i.log.gz" name="file">
<PatternLayout>
<Pattern>${LOG_PATTERN}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<!-- Sets debug for Class 'com.example.package.Clazz', and attaches to file 'file' -->
<Logger name="com.example.package.Clazz" level="debug">
<AppenderRef ref="file"/>
</Logger>
<!-- Sets 'info' for package 'org.springframework' -->
<Logger name="org.springframework" level="info" />
<Root level="WARN">
<AppenderRef ref="${APPENDER}"/>
</Root>
</Loggers>
</Configuration>
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow