2017-05-10 4 views
6

Ich möchte Project Lombok's log annotation in meinem Spring Boot-Projekte verwenden, aber ich möchte nicht die Funktionalität verlieren in der Lage sein, die Protokollierung von der application.properties zu ändern.Spring Boot Protokollierung mit Lombok

Die Spring-Logging-Dokumente sind nicht übermäßig klar, was die Standard-Logging-Implementierung verwendet werden soll, und es gibt 7 Lombok-Optionen!

Irgendwelche Ideen?

+0

Ich benutze '@ Slf4j (lombok.extern.slf4j.Slf4j)' und ich habe meine Protokolleinstellungen in logback.xml. Und es funktioniert ganz gut – pvpkiran

+0

Cool, ich würde gerne die Konfiguration aus der Box verwenden, ohne irgendeine zusätzliche Konfiguration obwohl, also keine 'logback.xml' oder irgendetwas. – dkanejs

Antwort

12

Ich würde @ Slf4j verwenden. Getestet das Folgende und es funktioniert wie erwartet.

@SpringBootApplication 
@Slf4j 
public class DemoApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(DemoApplication.class, args); 
     log.info("testing logging with lombok"); 
    } 
} 

Dann können Sie die Protokollierungsstufe ändern, wie here beschrieben.

logging.level.com.example.DemoApplication=WARN 

From the docs: "Standardkonfigurationen sind für Java Util Logging, Log4J2 und Logback zur Verfügung gestellt." ... "Wenn Sie die 'Starter' verwenden, wird Logback standardmäßig für die Protokollierung verwendet. Entsprechendes Logback-Routing ist ebenfalls enthalten, um sicherzustellen, dass alle abhängigen Bibliotheken, die Java Util Logging, Commons Logging, Log4J oder SLF4J verwenden, funktionieren korrekt."

+0

Großartig, mit diesem Setup können Sie die Protokollierungsstufen aus der Datei 'application.properties' ändern? – dkanejs

+0

Danke für die Klärung mit Ihrer Bearbeitung :) – dkanejs

Verwandte Themen