2016-04-02 6 views
0

Ich schreibe ein Plugin für Minecraft, das Gradle verwendet, um zusätzlichen Code zu einem bereits erstellten Framework hinzuzufügen (Sponge). Wenn ich versuche, die Annotation @ Slf4j von Lombok zu verwenden, sind die einzigen Protokollierungsstufen, die ich verwenden kann, Informationen und darüber. Basierend auf einem Kommentar, den ich in einem anderen Post gesehen habe, zeigt dies an, dass es slf4j simple verwendet, das bereits in das Framework eingebaut sein muss, das ich erweitere. Wenn ich logger4j als Abhängigkeit hinzufüge, verwendet slf4j weiterhin simples slf4j anstelle von logger4j. Ich möchte logger.debug und logger.trace zusätzlich zu den anderen Methoden benutzen können. Konfiguriere ich gerade etwas nicht richtig? Wie sage ich Slf4j Logger4j anstelle von einfach Slf4j zu verwenden?Slf4j mit einfachem slf4j anstelle von logger4j

Antwort

0

Wenn es mehr als eine Implementierung von slf4j gibt. Es wird eine zufällig ausgewählt. Wenn Sie log4j anstelle von einfachem slf4 verwenden möchten, können Sie die Datei simple-slf4j.jar aus Ihrem Klassenpfad entfernen.

modre detaile: http://www.slf4j.org/codes.html#multiple_bindings

Und wenn du sie zur gleichen Zeit verwenden möchten, können Sie einfach log4j verwenden, um direkt ohne slf4j. Für exmaple:

import org.apache.log4j.*; 
public class LogTest { 
    static Logger logger = Logger.getLogger(LogTest.class.getName()); 
    public static void main(String[] args) { 
    PropertyConfigurator.configure ("src/log4j.properties"); 
    logger.debug("Debug ..."); 
    logger.info("Info ..."); 
    logger.warn("Warn ..."); 
    logger.error("Error ..."); 
} 

}