2016-06-02 34 views
2

Ich verwende die Logback-Protokollierung für meine Anwendung, aber ich möchte bestimmte Protokolle nicht auf der Grundlage der Umgebung verwendet werden. Zum Beispiel habe ichLogBack, So deaktivieren Sie in bestimmten Umgebungen

<logger name="1" level="INFO" /> 
<logger name="2" level="INFO" /> 
<logger name="3" level="INFO" /> 
<logger name="4" level="WARN" /> 
<logger name="5" level="WARN" /> 
<logger name="6" level="WARN" /> 

Ich möchte alle der Logger auf meiner Dev-Umgebung laufen, aber die Infos von der Protokollierung deaktivieren, wenn ich auf meiner prod Umgebung bin.

Ich bin nicht sicher, wie man das macht, vielleicht mit einer bedingten Aussage?

Antwort

1

Genau wie in den documentation erklärt:

Sie eine Standard-Protokollkonfiguration conf/logback.xml, indem eine Datei zur Verfügung stellen können (dies ist die Standardeinstellung, die für die Wiedergabe sucht).

Aber wenn Sie benutzerdefinierte Protokollierung für Ihre dev Umgebung oder demo Umgebung möchten, müssen Sie ein conf/env/logback.demo.xml und erstellen, wenn Wiedergabe beginnend, stellen Sie die richtige logback.xml:

start -Dlogger.resource=conf/env/logback.demo.xml

+0

Gibt es eine Möglichkeit zu tun es innerhalb einer Datei und nicht mehrere benutzerdefinierte? –

+0

Ich denke, es ist möglich, aber ich habe es nie benutzt. Play hat die direkte Abhängigkeit von Logback zu einem Modul umstrukturiert. So mit Dependency Injection können Sie Ihre eigenen oder sogar anpassen Einstellungen für die Anwendungslast, siehe https://www.playframework.com/documentation/2.5.x/SettingsLogger#using-a-custom-logging-framework – adis

+0

so dass ich einige verwendet bedingte Anweisungen und abgestimmt auf Umgebungsvariablen und war in der Lage, es zu tun –