1 Reply Latest reply on May 8, 2008 3:44 PM by peterj

    Configuring separate log file for application

    jplenhart

      Hi,

      We have scoured the internet and forums here and found a number of posts regarding our problem - however we have failed to reache resolution around something on the face seems relatively simplistic. We would like to log our application loggers to a different file.

      Couple of observations:

      1) The file is created on the server
      2) I only see what appears to be transaction monitoring logging (Arjuna)

      One Note about the File below:
      1) The category is right below the appender entry

      Any help would be much appreciated -- thank you.

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
      
      <!-- ===================================================================== -->
      <!-- -->
      <!-- Log4j Configuration -->
      <!-- -->
      <!-- ===================================================================== -->
      
      <!-- $Id: jboss-log4j.xml 65459 2007-09-19 00:25:51Z dimitris@jboss.org $ -->
      
      <!--
       | For more configuration infromation and examples see the Jakarta Log4j
       | owebsite: http://jakarta.apache.org/log4j
       -->
      
      <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
      
       <!-- ================================= -->
       <!-- Preserve messages in a local file -->
       <!-- ================================= -->
      
       <!-- A time/date based rolling appender -->
       <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="File" value="${jboss.server.log.dir}/server.log"/>
       <param name="Append" value="false"/>
      
       <!-- Rollover at midnight each day -->
       <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      
       <!-- Rollover at the top of each hour
       <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
       -->
      
       <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
      
       <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
       <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
       -->
       </layout>
       </appender>
      
       <!-- A size based file rolling appender
       <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="File" value="${jboss.server.log.dir}/server.log"/>
       <param name="Append" value="false"/>
       <param name="MaxFileSize" value="500KB"/>
       <param name="MaxBackupIndex" value="1"/>
      
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
       </layout>
       </appender>
       -->
      
       <!-- ============================== -->
       <!-- Append messages to the console -->
       <!-- ============================== -->
      
       <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="Target" value="System.out"/>
       <param name="Threshold" value="INFO"/>
      
       <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
       <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
       </layout>
       </appender>
      
       <!-- ====================== -->
       <!-- More Appender examples -->
       <!-- ====================== -->
      
       <!-- Buffer events and log them asynchronously
       <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <appender-ref ref="FILE"/>
       <appender-ref ref="CONSOLE"/>
       <appender-ref ref="SMTP"/>
       </appender>
       -->
      
       <!-- EMail events to an administrator
       <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="Threshold" value="ERROR"/>
       <param name="To" value="admin@myhost.domain.com"/>
       <param name="From" value="nobody@myhost.domain.com"/>
       <param name="Subject" value="JBoss Sever Errors"/>
       <param name="SMTPHost" value="localhost"/>
       <param name="BufferSize" value="10"/>
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
       </layout>
       </appender>
       -->
      
       <!-- Syslog events
       <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="Facility" value="LOCAL7"/>
       <param name="FacilityPrinting" value="true"/>
       <param name="SyslogHost" value="localhost"/>
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
       </layout>
       </appender>
       -->
      
       <!-- Log events to JMS (requires a topic to be created)
       <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="Threshold" value="ERROR"/>
       <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
       <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
       </appender>
       -->
      
       <!-- Log events through SNMP
       <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
       <param name="ManagementHost" value="127.0.0.1"/>
       <param name="ManagementHostTrapListenPort" value="162"/>
       <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
       <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="DEBUG"/>
       <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
       </layout>
       </appender>
       -->
      
       <!-- Emit events as JMX notifications
       <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      
       <param name="Threshold" value="WARN"/>
       <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
      
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
       </layout>
       </appender>
       -->
      
       <appender name="MYAPP" class="org.jboss.logging.appender.DailyRollingFileAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="File" value="${jboss.server.log.dir}/myapp.log"/>
       <param name="Append" value="false"/>
      
       <!-- Rollover at midnight each day -->
       <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      
       <!-- Rollover at the top of each hour
       <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
       -->
      
       <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
       <param name="ConversionPattern" value="[%5p] %d{mm:ss} (%F:%M:%L)%n%m%n%n"/>
      
       <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
       <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
       -->
       </layout>
       </appender>
      
      
       <category name="com.myapp">
       <priority value="DEBUG" />
       <appender-ref ref="MYAPP" />
      </category>
      
       <!-- ================ -->
       <!-- Limit categories -->
       <!-- ================ -->
      
       <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
       <category name="org.apache">
       <priority value="WARN"/>
       </category>
      
       <!-- Limit the jacorb category to WARN as its INFO is verbose -->
       <category name="jacorb">
       <priority value="WARN"/>
       </category>
      
       <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
       <category name="org.jgroups">
       <priority value="WARN"/>
       </category>
      
       <!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
       <category name="org.quartz">
       <priority value="WARN"/>
       </category>
      
       <!-- Limit JBoss categories
       <category name="org.jboss">
       <priority value="WARN"/>
       </category>
       -->
      
       <!-- Limit the JSR77 categories -->
       <category name="org.jboss.management">
       <priority value="WARN"/>
       </category>
      
       <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
       <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
       <priority value="TRACE"/>
       </category>
       -->
      
       <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
       <category name="org.jboss.serial">
       <priority value="WARN"/>
       </category>
      
       <!-- Decrease the priority threshold for the org.jboss.varia category
       <category name="org.jboss.varia">
       <priority value="WARN"/>
       </category>
       -->
      
       <!-- Enable JBossWS message tracing
       <category name="org.jboss.ws.core.MessageTrace">
       <priority value="TRACE"/>
       </category>
       -->
      
       <!--
       | An example of enabling the custom TRACE level priority that is used
       | by the JBoss internals to diagnose low level details. This example
       | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
       | subpackages. This will produce A LOT of logging output.
       |
       | Note: since jboss AS 4.2.x, the trace level is supported natively by
       | log4j, so although the custom org.jboss.logging.XLevel priority will
       | still work, there is no need to use it. The two examples that follow
       | will both enable trace logging.
       <category name="org.jboss.system">
       <priority value="TRACE" class="org.jboss.logging.XLevel"/>
       </category>
       <category name="org.jboss.ejb.plugins">
       <priority value="TRACE"/>
       </category>
       -->
      
       <!--
       | Logs these events to SNMP:
       - server starts/stops
       - cluster evolution (node death/startup)
       - When an EJB archive is deployed (and associated verified messages)
       - When an EAR archive is deployed
      
       <category name="org.jboss.system.server.Server">
       <priority value="WARN" />
       <appender-ref ref="TRAP_LOG"/>
       </category>
      
       <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
       <priority value="WARN" />
       <appender-ref ref="TRAP_LOG"/>
       </category>
      
       <category name="org.jboss.deployment.MainDeployer">
       <priority value="ERROR" />
       <appender-ref ref="TRAP_LOG"/>
       </category>
      
       <category name="org.jboss.ejb.EJBDeployer">
       <priority value="WARN" />
       <appender-ref ref="TRAP_LOG"/>
       </category>
      
       <category name="org.jboss.deployment.EARDeployer">
       <priority value="WARN" />
       <appender-ref ref="TRAP_LOG"/>
       </category>
       -->
      
       <!-- Clustering logging -->
       <!-- Uncomment the following to redirect the org.jgroups and
       org.jboss.ha categories to a cluster.log file.
      
       <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
       <param name="File" value="${jboss.server.log.dir}/cluster.log"/>
       <param name="Append" value="false"/>
       <param name="MaxFileSize" value="500KB"/>
       <param name="MaxBackupIndex" value="1"/>
      
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
       </layout>
       </appender>
       <category name="org.jgroups">
       <priority value="WARN" />
       <appender-ref ref="CLUSTER"/>
       </category>
       <category name="org.jboss.ha">
       <priority value="WARN" />
       <appender-ref ref="CLUSTER"/>
       </category>
       -->
      
       <!-- ======================= -->
       <!-- Setup the Root category -->
       <!-- ======================= -->
      
       <root>
       <appender-ref ref="CONSOLE"/>
       <!-- <appender-ref ref="FILE"/> -->
       <appender-ref ref="MYAPP"/>
       </root>
      
      </log4j:configuration>