The SpringSource dm Server's trace support serve two main purposes:
System.out
and System.err
. These files are
intended for use by application developers and system administrators.
Entries in trace files are of the form <timestamp> <thread-name> <source> <level> <entry-text>. For example:
[2008-05-15 09:09:46.940] server-dm-2 org.apache.coyote.http11.Http11Protocol I Initializing Coyote HTTP/1.1 on http-48080
By default, trace files are stored in $SERVER_HOME/serviceability/trace
.
SpringSource dm Server provides advanced support for capturing and tracing application-generated output. It automatically partitions trace on a
per-application basis and will also capture any System.out and System.err output and direct it to the generating application's
trace.log
file.
SpringSource dm Server uses SLF4J-based implementations of both Commons Logging and Log4J to route output generated by applications
using those APIs to its trace files. In addition to appending such output to the global trace.log
it will also
append it to an application-specific trace file.
SpringSource dm Server writes application-specific trace to a file in a subdirectory of the configured trace directory. As described
above this directory is, by default, SERVER_HOME/serviceability/trace
. The subdirectory's name is of
the form <application-name>-<version>
. So, for example, an application named com.myapp at
version 1 will write its trace to a file in SERVER_HOME/serviceability/trace/com.myapp-1/
.
The levels used to filter per-application trace can be configured by using a header in the application's manifest specifying a comma-separated list of package and class names. For example:
Application-TraceLevels: *=info,com.myapp.*=verbose
This example manifest header will enable info level tracing for everything other than classes in the com.myapp package for which verbose level tracing will be enabled.
SpringSource dm Server captures, and traces, all output generated via System.out
and System.err
.
This means that such output will be written to both the global trace.log
file and to the trace file specific
to the application that generated the output. The trace entries for System.out
and System.err
output are of the form:
[2008-05-16 09:28:45.874] server-tomcat-thread-1 System.out I Hello world! [2008-05-16 09:28:45.874] server-tomcat-thread-1 System.err E Hello world!
As you can see the third column indicates where the output came from, i.e. System.out
or System.err
and, as indicated by the fourth column, System.out
is traced at the Info level, and System.err
is
traced at the error level.