[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