shaleen madlapure
shaleen madlapure

Reputation: 83

Generate log file daily using log4j2.xml and how to use SNMP appender in log4j2.xml

1)I want to generate the log file on daily basis using log4j2.xml. I am using the RollingFile appender tag to achieve the same.However, it is appending the logs on the same file.

   <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)Below is the category tag we have used in log4j.xml ,i want to know what is the equivalent of category tag in log4j2.xml ?

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

3)How to define SNMPTrapAppender with all the properties in log4j2?

 <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>

Upvotes: 1

Views: 1464

Answers (1)

mrida
mrida

Reputation: 1157

you should add

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

For the second question, the equivalent in log4j2 is:

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

Make sure to include the FrameworkAppender and ConsoleAppender in the Appenders section of your log4j2 file.

Upvotes: 1

Related Questions