-
1. Re: JBoss AS6 logging , how to configure XMLLayout
jaikiran Jan 3, 2011 3:30 AM (in response to stephane_)Just a FYI - You don't have to use the jboss-logging.xml file to configure your application's logging. You can always use your own log4j.xml file within your application.
-
2. JBoss AS6 logging , how to configure XMLLayout
stephane_ Jan 7, 2011 10:49 AM (in response to stephane_)After many trial and error I ended up creating a placeholder appender
<periodic-rotating-file-handler
file-name="${jboss.server.log.dir}/server.log.xml"
name="XMLFILE"
autoflush="true"
append="true"
suffix=".yyyy-MM-dd"> <!-- To roll over at the top of each hour, use ".yyyy-MM-dd-HH" instead -->
<level name="OFF"/>
<error-manager>
<only-once/>
</error-manager>
<formatter>
<!-- To revert back to simple stack traces without JAR versions, change "%E" to "%e" below. -->
<!-- Uncomment this to get the class name in the log as well as the category
<pattern-formatter pattern="%d %-5p [%c] %C{1} (%t) %s%E%n"/>
-->
<!-- Uncomment this to log without the class name in the log -->
<pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/>
</formatter>
</periodic-rotating-file-handler>
and then I set the layout programmatically in a bean
java.util.logging.Logger logger = java.util.logging.Logger.getLogger("");
for (Handler h : logger.getHandlers())
{
// h.setFormatter(new XMLFormatter())
if (h instanceof PeriodicRotatingFileHandler
&& ((PeriodicRotatingFileHandler) h).getFile().getName().contains(".xml"))
{
h.setFormatter(new XMLFormatter());
h.setLevel(java.util.logging.Level.ALL);
logger.info("XML Logger initialized");
break;
}
}
It works if I deploy my bean after the server is started , however it seem that otherwise application (my bean included) are deployed before the app server switches away from the boot logger , so the boot logger get the configuration but not the main logger ...
Any way to tell JBoss to switch logging before starting applications ?