log4j
log4j dostosowuje logi
Szukaj…
Plik konfiguracyjny
Konfiguracja
Plik konfiguracyjny Log4j może mieć dowolny z następujących formatów:
- JSON
- YAML
- właściwości (plik tekstowy)
- XML
Odkrycie konfiguracji
- Log4j sprawdzi
log4j.configurationFilesystemowąlog4j.configurationFilei, jeśli jest ustawiona, podejmie próbę załadowania konfiguracji. - Jeśli nie ustawiono żadnej właściwości systemowej, log4j będzie szukał
log4j2-test.propertiesw ścieżce klasy. - Jeśli taki plik nie zostanie znaleziony, log4j wyszuka
log4j2-test.yamllublog4j2-test.ymlw ścieżce klasy. - Jeśli taki plik nie zostanie znaleziony, log4j wyszuka
log4j2-test.jsonlublog4j2-test.jsnw ścieżce klasy. - Jeśli taki plik nie zostanie znaleziony, logj4 będzie szukał
log4j2-test.xmlw ścieżce klasy. - Jeśli nie można zlokalizować pliku testowego, log4j szuka
log4j2.propertiesna ścieżce klasy. - Jeśli nie można znaleźć pliku właściwości, log4j będzie szukał
log4j2.yamllublog4j2.ymlna ścieżce klasy. - Jeśli nie można zlokalizować pliku YAML, log4j będzie szukał
log4j2.jsonlublog4j2.jsnna ścieżce klasy. - Jeśli nie można zlokalizować pliku JSON, log4j spróbuje zlokalizować
log4j2.xmlna ścieżce klasy. - Jeśli nie można znaleźć pliku konfiguracyjnego, zostanie użyta konfiguracja domyślna. Spowoduje to przejście danych wyjściowych do konsoli.
Konfiguracja XML
Przykład XML
Poniższa konfiguracja konfiguruje dwa programy dołączające (dane wyjściowe dziennika). Pierwsze loguje się na standardowe wyjście systemowe (konsola), a inne loguje do pliku. W tym przykładzie lokalizację pliku można ustawić statycznie w konfiguracji ( file dołączający) lub dynamicznie za pomocą funkcji filtrowania maven ( <Property name="APPENDER"> ). Plik logów zostanie zapakowany w ciągu dnia. Format wiersza dziennika Conversion Pattern jest ustawiany jako zmienna.
<?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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow