[jboss-as7-dev] Logging Subsystem Changes
James Perkins
jperkins at redhat.com
Mon Nov 26 17:47:42 EST 2012
Hello All,
There have been a few notable changes (pending changes) in the logging
subsystem that I should probably make known to every one.
The most notable is probably the way the logging.properties file is
used. The file will be overwritten each time a change to the logging
subsystem is made. It also writes out fully resolved values, e.g. any
expressions like ${jboss.root.level:INFO} are not written out. This
means that changes to expressions on the XML configuration will be not
used until the logging subsystem kicks in.
Not writing out expression could be an issue with paths more than
anything. This could be an issue if you copy a configuration (from
production to dev for example) and expect ${jboss.server.log.dir} to be
resolved. Since the full path is written out, it's likely on initial
boot without any changes the log will be written to the production
directory and file.
I can't think of a solid way to fix this issue. Writing out the
expression to the logging.properties file wouldn't always work as the
system property may not be set yet.
There will no longer be a boot.log. On the initial boot of a fresh
install the console is the only stream written to until the logging
subsystem kicks in which will then write to the server.log as usual.
Since the host controller and process controller don't use the logging
subsystem, the configuration is as it always has been in the
logging.properties file of the $JBOSS_HOME/domain/configuration.
Of course if you don't want to use the logging subsystem, then it can be
disabled and the logging.properties will be the configuration used for
logging.
We've introduced logging profiles. A logging profile is like a separate
logging subsystem, in a sense at least. All the same operations are on a
logging profile. It can be used to define a different logging
configuration for a deployment. They can be applied to a deployment by
adding a Logging-Profile entry to the MANIFEST.MF for the deployment.
log4j appenders can be set-up via a custom-handler. Just define the
appenders properties as you would any other custom-handler and it will
be wrapped in a handler. The one caveat is it requires the logging
subsystem to be used. Since the logging.properties file is always
written, appenders will also be written requiring the logging subsystem
to use it's appender -> handler.
There has been a PR submitted to finally allow for expressions on most
of the attributes.
Yet to have a PR submitted due to an open PR for STDIO and a new release
of STDIO is removing the requirement to use JBoss Log Manager on a
standalone server. This would allow a user to use log4j or logback as
their log manager to control logging for the server if they'd prefer.
--
James R. Perkins
JBoss by Red Hat
More information about the jboss-as7-dev
mailing list