You can configure the application server to start in a trace-enabled state
by setting the appropriate configuration properties. You can only enable trace
for an application client or standalone process at process startup.
In WebSphere Application Server version 6.0.x, a logging infrastructure,
extending Java Logging, is used. This results in the following changes to
the configuration of the logging infrastructure in WebSphere Application Server:
- Loggers defined in Java logging are equivalent to, and configured in the
same way as, trace components introduced in previous versions of WebSphere
Application Server. Both are referred to as "components."
- Both Java logging levels and WebSphere Application Server levels can be
used. The following is a complete list of valid levels, ordered in ascending
order of severity:
- all
- finest or debug
- finer or entryExit
- fine or event
- detail
- config
- info
- audit
- warning
- severe or error
- fatal
- off
- Setting the logging and tracing level for a component to all will
enable all the logging for that component. Setting the logging and tracing
level for a component to off will disable all the logging
for that component.
- You can only configure a component to one level. However, configuring
a component to a certain level enables it to perform logging on the configured
level and any higher severity level.
- Several levels have equivalent names: finest is equivalent to debug; finer
is equivalent to entryExit; fine is equivalent to event; severe is equivalent
to error.
Java Logging does not distinguish between tracing and message logging.
However, previous versions of WebSphere Application Server have made a clear
distinction between those kind of messages. In WebSphere Application Server
version 6.0.x, the differences between tracing and message logging are as
follows:
- Tracing messages are messages with lower severity (for example, tracing
messages are logged on levels fine, finer, finest, debug, entryExit, or event).
- Tracing messages are generally not localized.
- When tracing is enabled, a much higher volume of messages will be produced.
- Tracing messages provide information for problem determination.
Trace and logging strings
In WebSphere Application
Server version 5.1.1 and earlier, trace strings were used for configuring
tracing only. In WebSphere Application Server version 6.0.x, the "trace string"
becomes a "logging string"; it is used to configure both tracing and message
logging.
In WebSphere Application Server version 5.1.1 and earlier,
the trace service for all WebSphere Application Server components is disabled
by default. To request a change to the current state of the trace service,
a trace string is passed to the trace service. This trace string encodes the
information detailing which level of trace to enable or disable and for which
components.
In WebSphere Application Server, the tracing for all components
is disabled by default. To change to the current state of the tracing and
message logging, a logging string must be constructed and passed to the server.
This logging string specifies what level of trace or logging to enable or
disable for specific components.
You can type in trace strings (or logging
strings), or construct them using the administrative console. Trace and
logging strings must conform to a specific grammar.
For WebSphere Application
Server version 5.1.1 and earlier, the specification of this grammar is as
follows:
TRACESTRING=COMPONENT_TRACE_STRING[:COMPONENT_TRACE_STRING]*
COMPONENT_TRACE_STRING=COMPONENT_NAME=LEVEL=STATE[,LEVEL=STATE]*
LEVEL = all | entryExit | debug | event
STATE = enabled | disabled
COMPONENT_NAME = COMPONENT | GROUP
For WebSphere Application Server version 6.0.x, the previous
grammar is supported. However a new grammar has been added to better represent
the underlying infrastructure:
LOGGINGSTRING=COMPONENT_LOGGING_STRING[:COMPONENT_LOGGING_STRING]*
COMPONENT_TRACE_STRING=COMPONENT_NAME=LEVEL
LEVEL = all | (finest | debug) | (finer | entryExit) | (fine | event )
| detail | config | info | audit | warning | (severe | error) | fatal | off
COMPONENT_NAME = COMPONENT | GROUP
The COMPONENT_NAME is the name of a component or group registered
with the trace service logging infrastructure. Typically, WebSphere Application
Server components register using a fully qualified Java class name, for example
com.ibm.servlet.engine.ServletEngine. In addition, you can use a wildcard
character of asterisk (*) to terminate a component name and indicate multiple
classes or packages. For example, use a component name of com.ibm.servlet.*
to specify all components whose names begin with com.ibm.servlet. You can
use a wildcard character of asterisk (*) at the end of the component or group
name to make the logging string applicable to all components or groups whose
names start with specified string. For example, a logging string specifying
"com.ibm.servlet.*" as a component name will be applied to all components
whose names begin with com.ibm.servlet. When "*" is used by itself in place
of the component name, the level the string specifies, will be applied to
all components.
Note:
- In WebSphere Application Server version 5.1.1 and earlier, you could set
the level to "all=disabled" to disable tracing. This syntax in version 6 will
result in LEVEL=info; tracing will be disabled, but logging will be enabled.
- The logging string is processed from left to right. During the processing,
part of the logging string might be modified or removed if the levels they
configure are being overridden by another part of the logging string.
- In WebSphere Application Server version 6.0.x, "info" is the default level.
If the specified component is not present (*=xxx is not found), *=info is
always implied. Any component that is not matched by the trace string will
have its level set to info.
- If the logging string does not start with a component logging string specifying
a level for all components, using the "*" in place of component name, one
will be added, setting the default level for all components.
- STATE = enabled | disabled is not needed in version 6. However, if used,
it has the following effect:
- "enabled" sets the logging for the component specified to the level specified
- "disabled" sets the logging for the component specified to one level above
the level specified. The following examples illustrate the effect that disabling
has on the logging level:
Logging string |
Resulting logging level |
Notes |
com.ibm.ejs.ras=debug=disabled |
com.ibm.ejs.ras=finer |
debug (version 5) = finest (version 6) |
com.ibm.ejs.ras=all=disabled |
com.ibm.ejs.ras=info |
"all=disabled" will disable tracing; logging is still
enabled. |
com.ibm.ejs.ras=fatal=disabled |
com.ibm.ejs.ras=off |
|
com.ibm.ejs.ras=off=disabled |
com.ibm.ejs.ras=off |
off is the highest severity |
Examples of legal trace strings include:
Version 5 syntax |
Version 6 syntax |
com.ibm.ejs.ras.ManagerAdmin=debug=enabled
|
com.ibm.ejs.ras.ManagerAdmin=finest
|
com.ibm.ejs.ras.ManagerAdmin=all=enabled,event=disabled
|
com.ibm.ejs.ras.ManagerAdmin=detail
|
com.ibm.ejs.ras.*=all=enabled
|
com.ibm.ejs.ras.*=all
|
com.ibm.ejs.ras.*=all=enabled:com.ibm.ws.ras=debug=
enabled,entryexit=enabled
|
com.ibm.ejs.ras.*=all:com.ibm.ws.ras=finer
|