In meiner Java-App wird Logging als Protokollierungsrahmen verwendet. Die Appen mit dem folgenden Muster konfiguriert (vereinfacht):Protokolleintragsmuster dynamisch unter bestimmten Bedingungen ändern
[CORR=%X{CORR}] [MSG=%msg]%n
Wie man sehen kann, wird CORR
Wert von MDC
genommen. Protokolleintrag Beispiel:
[CORR=12342314] [MSG=Some message]
Es gibt Fälle, wenn das Attribut nicht in MDC
gespeichert ist, so Protokolleintrag wie folgt aussieht:
[CORR=] [MSG=Some message]
Aber sollte sein:
[MSG=Some message]
Gibt es eine Weg, um diese [CORR=]
Teil des Musters vollständig loszuwerden, wenn der entsprechende Wert in MDC
fehlt, ohne benutzerdefinierte LayoutBase
im erstellen Ergänzungen? Ich versuche Evaluator zu konfigurieren:
<evaluator name="DISPLAY_CORR_EVAL">
<expression>((String) mdc.get("CORR")) != null</expression>
</evaluator>
haben aber keine Ahnung, wie es in meinem Fall zu verwenden.
Mit einem benutzerdefinierten Layout, das möglich sein sollte, siehe http://logback.qos.ch/manual/layouts.html –
Gefunden Lösungen ohne benutzerdefiniertes Layout. – Aliaxander