Skip to end of metadata
Go to start of metadata

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

NazwaWymaganyOpis
key(tick)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

NazwaWymaganyOpis
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" );
    }
}
  • No labels