2016-09-06 3 views
0

Ich möchte einen Appender mit verschiedenen Layouts für verschiedene Nachrichtenstufen haben. Alle Lösungen, die ich mir ausgedacht habe, brauchen zwei verschiedene Appender wie hier:log4j2 - Verschiedene Layouts für verschiedene Ebenen in einem Appender

<Appender type="Console" name="STDOUT_D"> 
    <Layout type="PatternLayout" pattern="[%-5p] %d %c - %m%n"/> 
    <Filters> 
     <ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
    </Filters> 
</Appender> 
<Appender type="Console" name="STDOUT"> 
    <Layout type="PatternLayout" pattern="[%-5p] %d %-60.60c - %m%n"/> 
    <Filters> 
     <ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
     <ThresholdFilter level="debug" onMatch="DENY" onMismatch="NEUTRAL"/> 
    </Filters> 
</Appender> 

Ideen?

Ich verwende XML-Konfiguration mit strikten Modus auf.

Antwort

0

Ich habe dieses Ergebnis mit ScriptPatternSelector Archiviert

<Appender type="Console" name="STDOUT"> 
    <PatternLayout> 
    <ScriptPatternSelector defaultPattern="[%-5level] %c{1.} %C{1.}.%M.%L %msg%n"> 
     <Script name="selector" language="groovy"><![CDATA[ 
      if (logEvent.getLevel() == org.apache.logging.log4j.Level.DEBUG) 
       return "DEBUG" 
      else 
       return "INFO" 
      ]]> 
     </Script> 
     <PatternMatch key="DEBUG" pattern="[%-5p] %d %c - %m%n"/> 
     <PatternMatch key="INFO" pattern="[%-5p] %d %-60.60c - %m%n"/> 
    </ScriptPatternSelector> 
    </PatternLayout> 
</Appender> 
Verwandte Themen