[jboss-cvs] JBossAS SVN: r107716 - in branches/JBPAPP_5_1/testsuite: src/main/org/jboss/test/scripts/test and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 20 11:43:24 EDT 2010


Author: pskopek at redhat.com
Date: 2010-08-20 11:43:24 -0400 (Fri, 20 Aug 2010)
New Revision: 107716

Added:
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/test/
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/test/SecurityAuditTestCase.java
   branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/
   branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/conf/
   branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/conf/jboss-log4j.xml
Modified:
   branches/JBPAPP_5_1/testsuite/build.xml
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/scripts/test/ScriptsTestBase.java
Log:
JBOSSCC-66: Create test to monitor audit log messages of server shutdown and startup 

Modified: branches/JBPAPP_5_1/testsuite/build.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/build.xml	2010-08-20 14:51:02 UTC (rev 107715)
+++ branches/JBPAPP_5_1/testsuite/build.xml	2010-08-20 15:43:24 UTC (rev 107716)
@@ -4606,4 +4606,58 @@
    </target>
    
    <target name="check-build-type"><echo message="build.ewp is ${build.ewp} and version is ${version} and version.name is ${version.name}"/></target>
+	
+	<!-- Common Criteria Targets -->
+ 	 <target name="tests-cc-audit">
+ 	    <mkdir dir="${build.reports}"/>
+ 	    <mkdir dir="${build.testlog}"/>
+ 	    
+ 	    <create-config baseconf="default" newconf="cc-audit">
+ 	      <patternset>
+ 			<include name="conf/**"/>
+ 			<include name="deploy/**"/>
+ 			<include name="deployers/**"/>
+ 			<include name="lib/**"/>
+ 	      </patternset>
+ 	    </create-config>
+ 	    
+ 	    <!-- script tests which start their own servers -->
+ 	    <junit dir="${module.output}" printsummary="${junit.printsummary}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}"
+ 		   timeout="${junit.timeout}" jvm="${junit.jvm}">
+ 	      
+ 	      <jvmarg value="${junit.jvm.options}"/>
+ 	      <!-- Used for JGroups -->
+ 	      <jvmarg value="-Dbind.address=${node0}"/>
+ 	      <sysproperty key="jboss.dist" value="${jboss.dist}"/>
+ 	      <sysproperty key="jbosstest.server.config" value="cc-audit"/>
+ 	      <sysproperty key="jbosstest.deploy.dir" file="${build.lib}"/>
+ 	      <sysproperty key="build.testlog" value="${build.testlog}"/>
+ 	      <sysproperty key="log4j.configuration" value="file:${build.resources}/log4j.xml"/>
+ 	      <sysproperty key="java.naming.provider.url" value="${node0.jndi.url}"/>
+ 	      <sysproperty key="jbosstest.server.host" value="${node0}"/>
+ 	      <sysproperty key="jbosstest.server.host.url" value="${node0.url}"/>
+ 	      <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+ 	      <sysproperty key="java.net.preferIPv6Addresses" value="${java.net.preferIPv6Addresses}" />
+ 	      <!-- Pass along any jbosstest.* system properties -->
+ 	      <syspropertyset>
+ 			<propertyref prefix="jbosstest."/>
+ 	      </syspropertyset>
+ 	      <classpath>
+ 			<pathelement location="${build.classes}"/>
+ 			<pathelement location="${build.resources}"/>
+ 			<path refid="tests.classpath"/>
+ 	      </classpath>
+ 	      
+ 	      <!--sysproperty key="jboss-junit-configuration" value="classloader-leak"/-->
+ 	      <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-security-audit.xml"/>
+ 	      
+ 	      <batchtest todir="${build.reports}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}">
+ 		
+ 		  <fileset dir="${build.classes}">
+ 	         <include name="**/test/security/audit/test/SecurityAuditTestCase.class"/>
+ 		  </fileset>
+ 	      </batchtest>
+ 	    </junit>
+ 	  </target>
+	
 </project>

Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/scripts/test/ScriptsTestBase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/scripts/test/ScriptsTestBase.java	2010-08-20 14:51:02 UTC (rev 107715)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/scripts/test/ScriptsTestBase.java	2010-08-20 15:43:24 UTC (rev 107716)
@@ -68,6 +68,7 @@
 	LogFileAssertionChecker outputLogChecker = null ;
 	LogFileAssertionChecker bootLogChecker = null ;
 	LogFileAssertionChecker systemLogChecker = null ;
+	LogFileAssertionChecker auditLogChecker = null ;
 	
 	public ScriptsTestBase(String name)
 	{
@@ -85,6 +86,8 @@
 		outputLogChecker = new LogFileAssertionChecker(logDir + "/output.log") ;
 		bootLogChecker = new LogFileAssertionChecker(logDir + "/boot.log") ;
 		systemLogChecker = new LogFileAssertionChecker(logDir + "/system.log") ;
+		auditLogChecker = new LogFileAssertionChecker(logDir + "/audit.log") ;
+		
 	}
 
 	protected void setUp() throws Exception {
@@ -115,6 +118,9 @@
 	public LogFileAssertionChecker getSystemLogChecker() {
 		return systemLogChecker ;
 	}
+	public LogFileAssertionChecker getAuditLogChecker() {
+		return auditLogChecker ;
+	}
 	
 	/* location helpers 
 	 * 
@@ -235,7 +241,14 @@
 			Assert.fail(failureMessage) ;
 		}
 	}		
-			
+
+	public void assertOnAuditLog(String string, String failureMessage, boolean useCheckpoint, boolean resetCheckpoint) {
+		if (!auditLogChecker.isStringInLog(string, useCheckpoint, resetCheckpoint)) {
+			// assertion does not hold
+			Assert.fail(failureMessage) ;
+		}
+	}		
+	
 	/* check if there is a Tomcat connection to the server */
 	private static boolean isServerStarted(String host) throws MalformedURLException {
 		// URL to Tomcat 

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/test/SecurityAuditTestCase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/test/SecurityAuditTestCase.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/security/audit/test/SecurityAuditTestCase.java	2010-08-20 15:43:24 UTC (rev 107716)
@@ -0,0 +1,149 @@
+/**
+ * 
+ */
+package org.jboss.test.security.audit.test;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.jboss.test.scripts.test.ScriptsTestBase;
+
+/**
+ * This test case starts predefined configuration with audit logging enabled and asserts 
+ * audit logfile for messages to see if successful audit. 
+ * 
+ * @author pskopek
+ * @version $Revision: $
+ */
+public class SecurityAuditTestCase extends ScriptsTestBase {
+
+	private ObjectName SERVER_OBJ_NAME = null ;
+	private int START_TIMEOUT = 120 ;
+	private int STOP_TIMEOUT = 120 ;
+
+	private String command = null;
+	private String options = null;  
+	private String args = null;
+	private String[] shellCommand = null;
+	   
+	// environment 
+	private String[] envp = null;
+	// working directory
+	private File workingDir = new File(getBinDir()) ;
+	
+	
+	@Override
+	protected void setUp() throws Exception {
+
+		super.setUp();
+
+		command = "run" ;
+		options = " -c " + getServerConfig() + " -b " + getServerHost()   ;  
+		args = null ;
+		shellCommand = getShellCommand(command, options, args) ;
+
+		// set the environment if necessary 
+		envp = null ;
+		// set the working directory
+		workingDir = new File(getBinDir()) ;
+
+	}
+
+	
+   /**
+    * Create a new SecurityAuditTestCase.
+    * 
+    * @param name
+    */
+   public SecurityAuditTestCase(String name)
+   {
+      super(name);     
+      
+      // init the server ON
+      try {
+    	  SERVER_OBJ_NAME = new ObjectName("jboss.system:type=Server") ;
+      }
+      catch(MalformedObjectNameException mfe) {
+    	  // re-throw the exception
+    	  throw new RuntimeException(mfe);
+      }      
+   }
+
+   
+   
+   /**
+    * Prints out some basic info about the environment 
+    */
+   public void dumpExecutionEnvironment() {
+	   String os = isWindows() ? "Windows" : "non-Windows" ;
+	     
+	   // dump out some basic config information
+	   System.out.println("\nTesting run on " + os + " host") ;
+	   System.out.println("Working directory: " + getBinDir()) ;
+	   System.out.println("Dist directory: " + getDistDir()) ;	
+	   System.out.println("Log directory: " + getLogDir()) ;
+	   System.out.println("Server config: " + getServerConfig()) ;
+   }
+   
+   /**
+    * Tests if after successful startup and shutdown of server, audit log contains proper entries. 
+    * @throws Exception
+    */
+   public void testServerStartupAndShutdownAuditMessage() throws Exception
+   {
+	   // execute command
+	   getAsyncShellScriptExecutor().startShellCommand(shellCommand, envp, workingDir) ; 
+	   getLog().debug("Starting the server ...");
+	   
+	   // waitForServerStart kills the process and throws an exception if server does not start 
+	   try {
+		   ScriptsTestBase.waitForServerStart(getAsyncShellScriptExecutor(), getServerHost(), START_TIMEOUT) ;
+		   getLog().debug("Server started successfully");
+	   }
+	   catch(IOException e) {
+		   getLog().error("IOException: message = " + e.getMessage()) ;
+		   writeLogsToTestCase() ;
+		   
+		   fail("Server failed to start") ;
+	   }
+	   
+	   // check audit message 
+	   assertOnAuditLog(ScriptsTestBase.SERVER_STARTED_MESSAGE, "Audit log does not contain SERVER_STARTED_MESSAGE (" + ScriptsTestBase.SERVER_STARTED_MESSAGE + ")", false, true);
+	   
+	   // shutdown the server using JMX and the MBean server (jboss.system:type=Server
+	   getLog().debug("Calling shutdown") ;
+	   getServer().invoke(SERVER_OBJ_NAME, "shutdown", new Object[0], new String[0]) ;
+	   
+	   // waitForServerStop kills the process and throws an exception if server does not stop 
+	   try {
+		   ScriptsTestBase.waitForServerStop(getAsyncShellScriptExecutor(), STOP_TIMEOUT) ;
+		   getLog().debug("Server stopped successfully") ;
+	   }
+	   catch(IOException e) {
+		   getLog().error("IOException: message = " + e.getMessage()) ;
+		   writeLogsToTestCase() ;
+		   
+		   fail("Server failed to stop") ;
+	   }
+	   
+	   // check audit message 
+	   assertOnAuditLog(ScriptsTestBase.SERVER_STOPPED_MESSAGE, "Audit log does not contain SERVER_STOPPED_MESSAGE (" + ScriptsTestBase.SERVER_STOPPED_MESSAGE + ")", false, true);
+	   
+	   
+   }  
+
+   private void writeLogsToTestCase() {
+	   
+	   // write the logs to output for diagnosis
+	   System.out.println("============================== system.out ==============================") ;
+	   System.out.println(getAsyncShellScriptExecutor().getOutput()) ;
+	   System.out.println("============================== system.err ==============================") ;
+	   System.out.println(getAsyncShellScriptExecutor().getError()) ;
+	   System.out.println("========================================================================") ;	   
+   }
+
+
+}

Added: branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/conf/jboss-log4j.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/conf/jboss-log4j.xml	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/test-configs/cc-audit/conf/jboss-log4j.xml	2010-08-20 15:43:24 UTC (rev 107716)
@@ -0,0 +1,391 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: jboss-log4j.xml 96076 2009-11-06 02:32:38Z jim.ma $ -->
+
+<!--
+   | For more configuration information 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="true"/>
+      <!-- In AS 5.0.x the server log threshold was set by a system
+           property. In 5.1 and later we are instead using the system
+           property to set the priority on the root logger (see <root/> below)
+      <param name="Threshold" value="${jboss.server.log.threshold}"/>
+      -->
+      
+      <!-- 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] (Thread) Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] (%t) %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 at myhost.domain.com"/>
+     <param name="From" value="nobody at 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>
+   -->
+
+   <!-- Security AUDIT Appender -->
+   <appender name="AUDIT" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="${jboss.server.log.dir}/audit.log"/>
+      <param name="Append" value="true"/>
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] (%t:%x) %m%n"/>
+      </layout>
+   </appender>
+  
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+   
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+   
+   <!-- Set the logging level of the JSF implementation that uses
+      | java.util.logging. The jdk logging levels can be controlled
+      | through the org.jboss.logging.log4j.JDKLevel class that
+      | in addition to the standard log4j levels it adds support for
+      | SEVERE, WARNING, CONFIG, FINE, FINER, FINEST
+   -->
+   <category name="javax.enterprise.resource.webcontainer.jsf">
+     <priority value="INFO" class="org.jboss.logging.log4j.JDKLevel"/>
+   </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="INFO"/>
+   </category>
+   
+   <!-- Limit the com.sun category to INFO as its FINE is verbose -->
+   <category name="com.sun">
+      <priority value="INFO"/>
+   </category>
+   
+   <!-- Limit the sun category to INFO as its FINE is verbose -->
+   <category name="sun">
+      <priority value="INFO"/>
+   </category>
+   
+   <!-- Limit the javax.xml.bind category to INFO as its FINE is verbose -->
+   <category name="javax.xml.bind">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the springframework category to WARN-->
+   <category name="org.springframework">
+     <priority value="WARN"/>
+   </category> 
+  
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the verbose facelets compiler -->
+   <category name="facelets.compiler">
+      <priority value="WARN"/>
+   </category>
+   
+   <!-- Limit the verbose ajax4jsf cache initialization -->
+   <category name="org.ajax4jsf.cache">
+      <priority value="WARN"/>
+   </category>
+   
+   <!-- Limit the verbose embedded jopr categories -->
+   <category name="org.rhq">
+      <priority value="WARN"/>
+   </category>
+      
+   <!-- Limit the verbose seam categories -->
+   <category name="org.jboss.seam">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the verbose MC4J EMS (lib used by admin-console) categories -->
+   <category name="org.mc4j.ems">
+      <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>
+   -->
+
+   <!-- Category specifically for Security Audit Provider -->
+   <category name="org.jboss.security.audit.providers.LogAuditProvider" additivity="false">
+     <priority value="TRACE"/>
+     <appender-ref ref="AUDIT"/>
+   </category>
+  
+   <!-- Category specifically for Security Audit Provider -->
+   <category name="org.jboss.bootstrap.microcontainer">
+     <priority value="INFO"/>
+     <appender-ref ref="AUDIT"/> 
+   </category>
+   
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+  
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </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="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <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="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <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="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+   
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <!-- 
+         Set the root logger priority via a system property. Note this is parsed by log4j,
+         so the full JBoss system property format is not supported; e.g.
+         setting a default via ${jboss.server.log.threshold:WARN} will not work.         
+       -->
+      <priority value="${jboss.server.log.threshold}"/>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>



More information about the jboss-cvs-commits mailing list