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>
答案 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。