2017-04-13 62 views
0

私はこれを持っていますlog4j2.xml - 構成ファイル。 フィルタとLoglevel ERRORのすべての指定マーカーを記録するフィルタを作成するにはどうすればよいですか? 私の現在の設定では、指定されたマーカーのみがログに記録されますが、ERRORは記録されません。マーカーとログレベルのlog4j2フィルタ

<Configuration status="warn" name="MyAppx" packages=""> 
<Appenders> 
    <RollingFile append="true" name="MyFile" fileName="/tmp/app.log" filePattern="/home/flex/logusb/app-%d{MM-dd-yyyy}-%i.log.gz"> 
     <Filters> 
      <MarkerFilter marker="MARKER1" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
      <MarkerFilter marker="MARKER2" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
      <MarkerFilter marker="MARKER3" onMatch="ACCEPT" onMismatch="DENY"/ 
     </Filters> 

     <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} app  %-5level %-30notEmpty{[%marker]} - %msg%xEx - %class{36} %L %M%n"/> 
     <Policies> 
      <!--<TimeBasedTriggeringPolicy />--> 
      <SizeBasedTriggeringPolicy size="20 MB"/> 
     </Policies> 
    <DefaultRolloverStrategy max="100"/> 
    </RollingFile> 
</Appenders> 
<Loggers> 
    <AsyncRoot level="INFO" includeLocation="true"> 
     <AppenderRef ref="MyFile" /> 
    </AsyncRoot> 
</Loggers> 

+0

あなたはこのメッセージは任意のマーカーが含まれていない場合でも、 'ERROR'メッセージをログに記録したいですか? – wangyuntao

+0

@wangyuntaoまさに! – user2071938

答えて

2

試してみてください。

<Filters> 
    <MarkerFilter marker="MARKER1" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
    <MarkerFilter marker="MARKER2" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
    <MarkerFilter marker="MARKER3" onMatch="ACCEPT" onMismatch="NEUTRAL"/> 
    <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> 
</Filters> 
+0

それだけです!ありがとうございました! – user2071938

+0

あなたは大歓迎です! :-) – wangyuntao

関連する問題