每天使用log4j2.xml以及如何在log4j2.xml中使用SNMP附加程序生成日志文件

时间:2019-01-14 08:53:43

标签: log4j2 rollingfileappender snmp-trap

1)我想每天使用log4j2.xml生成日志文件。我正在使用RollingFile附加标签来实现相同目的。但是,它会将日志附加到同一文件上。

   <RollingFile name="FrameworkAppender"     filePattern="${jboss.server.home.dir}/xyz_app-%d{yyyy-MM-dd}-%i.log" >
   <PatternLayout>
    <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
  </PatternLayout>
        <LevelRangeFilter minLevel="ERROR" maxLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>          
        <CronTriggeringPolicy schedule="0 0 0 * * ?" />
       <SizeBasedTriggeringPolicy size="250 MB" />
        </Policies>
        <DefaultRolloverStrategy max="10"/>
    </RollingFile>

2)下面是我们在log4j.xml中使用的类别标签,我想知道log4j2.xml中的类别标签等效于什么?

<category name="biz.theXYZ" additivity="false">
    <level value="INFO" />
    <appender-ref ref="FrameworkAppender" />
    <appender-ref ref="ConsoleAppender" />      
</category>

3)如何使用log4j2中的所有属性定义SNMPTrapAppender?

 <appender name="TRAP_LOG_APPENDER" class="org.apache.log4j.ext.SNMPTrapAppender">      
                <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
                <param name="EnterpriseOID" value="1.3.6.1.4.1.2854.1"/>
                <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
                <param name="ManagementHost" value="127.0.0.1"/> 
                <param name="ManagementHostTrapListenPort" value="162"/> 
                <param name="LocalIPAddress" value="127.0.0.1"/> 
                <param name="LocalTrapSendPort" value="161"/> 
                <param name="GenericTrapType" value="6"/> 
                <param name="SpecificTrapType" value="12345678"/> 
                <param name="CommunityString" value="public"/> 
                <param name="ForwardStackTraceWithTrap" value="true"/> 
                <param name="Threshold" value="INFO"/> 
                <layout class="org.apache.log4j.PatternLayout">
                    <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/> 
                </layout> 
            </appender>

1 个答案:

答案 0 :(得分:1)

您应该添加

<TimeBasedTriggeringPolicy interval="1" modulate="true"/>

对于第二个问题,log4j2中的等效项是:

  <Loggers>
    <Logger name="biz.theXYZ" level="info">
      <AppenderRef ref="FrameworkAppender"/>
      <AppenderRef ref="ConsoleAppender"/>
    </Logger>
  </Loggers>

确保在log4j2文件的Appenders部分中包括FrameworkAppender和ConsoleAppender。