Sie werden nie mehr als einen Root-Logger haben, daher ist Ihre Frage ein wenig irreführend. Was Sie suchen, ist, wie Sie genau abstimmen, welche Ereignisse jeder der Appender protokolliert.
http://logback.qos.ch/manual/filters.html#thresholdFilter
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
konfigurieren Ebene INFO für die FILE-appender und DEBUG für STDOUT:
Und dafür Sie eine ThresholdFilter zu jedem der Appen hinzuzufügen.
Edit: Ich habe die andere Antwort der Ladung zu bestreiten, dass dies eine falsch ist: Ja, Sie mehr als ein Wurzel- Element in der Konfiguration haben können. Das erzeugt nicht mehr als eine Wurzel - Logger obwohl, was der Titel der Frage verlangt. Auch die logback Handbuch Staaten unter http://logback.qos.ch/manual/configuration.html#syntax (Hervorhebung von mir):
Dennoch ist die sehr einfache Struktur der Konfigurationsdatei kann wie beschrieben, < Konfiguration> -Element, gefolgt von null oder mehr < appender> -Elemente , gefolgt von null oder mehr < logger> elements, gefolgt von höchstens < root> element.
Es könnte funktionieren, aber zumindest ist es gegen Konvention.
Ich habe ' 'und es meldet sich immer noch die beiden Appender an, wie ist es möglich? –
piechuckerr
Ich bezweifle, dass jemand Ihnen mit so wenig Informationen helfen könnte. Wenn Sie ein Problem zu lösen haben, öffnen Sie bitte eine neue Frage, Kommentare sind nicht der richtige Ort dafür. – sheltem
Es scheint zu funktionieren, aber nicht nur die Dokumentation, sondern auch der Code zeigt Unterstützung für nur einen Root-Logger, so dass ich vermute, einige der Funktionen des Root-Logger wird verpasst. Z.B. Wenn Sie 2 Root-Logger deklarieren und einer eine andere Ebene hat, was ist die Standardstufe? Beachten Sie, wie der [Quellcode] (https://github.com/qos-ch/logback/blob/master/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java) erstellt und erstellt wird initialisiert einen _single_ root logger im Konstruktor. – Rhubarb