2016-06-09 75 views
0

我要求针对不同标记具有不同的日志格式。两个日志都属于同一个日志级别(错误),并且会记录在同一个文件中。 任何人都可以告诉我应该做什么的理想方式。使用的记录器是log4j。log4j针对不同标记的不同日志格式

我现在唯一的解决方案是使用不同的appender来获得不同的格式。这有没有我不知道的副作用?

<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
     <RollingFile name="RollingFile1" fileName="logs/app.log" 
       filePattern="logs/app-%d{MM-dd-yyyy}.log.gz"> 

      <MarkerFilter marker="MARKERONE" onMatch="ACCEPT" onMismatch="DENY"/> 
      <PatternLayout> 
       <pattern>%d %p %c{1.} [%t] %m%n</pattern> 
      </PatternLayout> 
      <TimeBasedTriggeringPolicy /> 
     </RollingFile> 
     <RollingFile name="RollingFile2" fileName="logs/app.log" 
       filePattern="logs/app-%d{MM-dd-yyyy}.log.gz"> 
      <MarkerFilter marker="MARKERTWO" onMatch="ACCEPT" onMismatch="DENY"/> 

      <PatternLayout> 
       <pattern>%d %p %c{1.} [%t] %m%n</pattern> 
      </PatternLayout> 
      <TimeBasedTriggeringPolicy /> 
     </RollingFile> 
    </Appenders> 
    <Loggers> 
     <Root level="error"> 
      <AppenderRef ref="RollingFile1"/> 
      <AppenderRef ref="RollingFile2"/> 
     </Root> 
    </Loggers> 
</Configuration> 

回答

相关问题