Przeznaczenie
Moduł logger umożliwia dodanie własnego appendera typu DailyRollingFileAppender do logów wtyczki. Dzięki temu w folderze logów w katalogu domowym zostanie utworzony osobny folder z logami tylko z tej wtyczki.
Konfiguracja
Moduł logger zawiera następujące opcje konfiguracyjne:
Atrybuty
Nazwa | Wymagany | Opis |
---|---|---|
key | ![]() | Nazwa loggera. Zgodnie z dokumentacją log4j nazwa loggera może być dowolnym tekstem, który będzie służył do pobierania loggera. Nazwa loggera może być również ścieżką pakietów, której ma logger dotyczyć (zalecane). |
Elementy
Nazwa | Wymagany | Opis |
---|---|---|
param | Parametry appendera. Możliwe do ustawienia: DatePattern, MaxNumberOfDays, CompressBackups, Threshold, Pattern. Żaden z parametrów nie jest wymagany. Parametry w przykładzie poniżej są parametrami domyślnymi. |
Przykładowy deskryptor
Logger z domyślnymi parametrami (wykorzystywany w większości przypadków)
<?xml version="1.0" encoding="UTF-8"?> <plugin key="${project.groupId}-${project.artifactId}" name="Dowolna nazwa wtyczki"> <logger key="com.suncode.plugin.domyslnypakietdlawtyczki"/> <!-- Określenie nazwy loggera przez ścieżkę pakietu --> </plugin>
Logger z nadpisanymi domyślnymi parametrami
<?xml version="1.0" encoding="UTF-8"?> <plugin key="${project.groupId}-${project.artifactId}" name="Dowolna nazwa wtyczki"> <logger key="com.suncode.plugin.domyslnypakietdlawtyczki"> <!-- Określenie nazwy loggera przez ścieżkę pakietu --> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <param name="MaxNumberOfDays" value="45" /> <param name="CompressBackups" value="true" /> <param name="Threshold" value="DEBUG"/> <param name="Pattern" value="%d{ABSOLUTE} %t %X{username} %X{userip} %p %C{1}:%L %x %m%n"/> </logger> </plugin>
Użycie loggera we wtyczce
Klasa.java
package com.suncode.plugin.domyslnypakietdlawtyczki; import org.apache.log4j.Logger; public class Klasa { public static Logger log = Logger.getLogger( Klasa.class ); // jeżeli we wtyczce jest skonfigurowany Lombok, również można go użyć public void test() { log.debug( "Przykładowy log, który trafi do pliku logów dla tej wtyczki" ); } }