This chapter briefly describes how to configure logging and view the server log. It contains the following sections:
The Enterprise Server uses the Java EE platform Logging API specified in JSR 047. Enterprise Server logging messages are recorded in the server log, normally found at domain-dir/logs/server.log. When a log is rotated, Enterprise Server creates a new, empty file named server.log and renames the old file server.log_date, where date is the date and time when the file was rotated.
The components of the Enterprise Server generate logging output. Application components can also generate logging output.
Application components may use the Apache Commons Logging Library to log messages. The platform standard JSR 047 API, however, is recommended for better log configuration.
Log records follow a uniform format:
[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]
For example:
[#|2006-10-21T13:25:53.852-0400|INFO|sun-appserver9.1|javax.enterprise. system.core|_ThreadID=13;|CORE5004: Resource Deployed: [cr:jms/DurableConnectionFactory].|#]
In this example,
[# and #] mark the beginning and end of the record.
The vertical bar (|) separates the record fields.
2006-10-21T13:25:53.852-0400 specifies the date and time.
The Log Level is INFO. This level may have any of the following values: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, and FINEST.
The ProductName-Version is sun-glassfish-comms-server1.0.
The LoggerName is a hierarchical logger namespace that identifies the source of the log module, in this case javax.enterprise.system.core.
The Key Value Pairs are key names and values, typically a thread ID such as _ThreadID=14;.
The Message is the text of the log message. For all Enterprise Server SEVERE and WARNING messages and many INFO messages, it begins with a message ID that consists of a module code and a numerical value (in this case, CORE5004).
The log record format might be changed or enhanced in future releases.
The Enterprise Server provides a logger for each of its modules. The following table lists the names of the modules and the namespace for each logger in alphabetical order, as they appear on the Log Levels page of the Admin Console (see Configuring Log Levels). The last three modules in the table do not appear on the Log Levels page.
Table 17–1 Enterprise Server Logger Namespaces
Module Name |
Namespace |
---|---|
Admin |
javax.enterprise.system.tools.admin |
Classloader |
javax.enterprise.system.core.classloading |
Configuration |
javax.enterprise.system.core.config |
Connector |
javax.enterprise.resource.resourceadapter |
CORBA |
javax.enterprise.resource.corba |
Deployment |
javax.enterprise.system.tools.deployment |
EJB Container |
javax.enterprise.system.container.ejb |
Group Management Service (cluster and enterprise profiles only) |
javax.ee.enterprise.system.gms |
JavaMail |
javax.enterprise.resource.javamail |
JAXR |
javax.enterprise.resource.webservices.registry |
JAXRPC |
javax.enterprise.resource.webservices.rpc |
JAXWS |
javax.enterprise.resource.webservices.javaws |
JBI |
com.sun.jbi |
JMS |
javax.enterprise.resource.jms |
JTA |
javax.enterprise.resource.jta |
JTS |
javax.enterprise.system.core.transaction |
MDB Container |
javax.enterprise.system.container.ejb.mdb |
Naming |
javax.enterprise.system.core.naming |
Persistence |
oracle.toplink.essentials, javax.enterprise.resource.jdo, javax.enterprise.system.container.cmp |
Node Agent (cluster and enterprise profiles only) |
javax.ee.enterprise.system.nodeagent |
Root |
javax.enterprise |
SAAJ |
javax.enterprise.resource.webservices.saaj |
Security |
javax.enterprise.system.core.security |
Self Management |
javax.enterprise.system.core.selfmanagement |
Server |
javax.enterprise.system |
Synchronization (cluster and enterprise profiles only) |
javax.ee.enterprise.system.tools.synchronization |
Util |
javax.enterprise.system.util |
Verifier |
javax.enterprise.system.tools.verifier |
Web Container |
javax.enterprise.system.container.web |
This section contains the following topics:
To configure the general logging settings using the Admin Console:
For the developer profile, go to Application Server -> Logging -> General
For the cluster and enterprise profiles, go to Configurations -> Configuration -> Logging Settings -> General
On the General page, enter appropriate values to customize logging to your requirements. Stop and restart the Enterprise Server.
For details on setting the various configuration parameters, click Help in the Admin Console.
To configure these log settings in asadmin, use the get and set commands.
You can use the com.sun.enterprise.server.logging.max_history_files system property to limit the number of rotated log files for both access logging and the server log. The property specifies the maximum number of access log files to keep, starting with the most recent ones.
If the property is not set, then no history files cleanup is done.
If the property is set and it's either an invalid number or null, then a default of 10 history files is kept.
If the property is set to 0, then no history files are kept.
In the Admin Console, access the config/server that this system property needs to be set for. On the command line, use the create-jvm-option command.
To configure log levels using the Admin Console:
For the developer profile, go to Application Server -> Logging -> Log Levels
For the cluster and enterprise profiles, go to Configurations -> Configuration -> Logging -> Logging Settings -> Log Levels
Set the log level for the modules listed on this page. Use the Additional Properties area to configure log levels for any application loggers. For a list of the module loggers, see The Logger Namespace Hierarchy.
For details on setting the various configuration parameters, click Help in the Admin Console.
To configure these log settings in asadmin, use the get and set commands.
To view the log files:
In the developer profile, go to Applications Server -> Logging -> View Log Files.
In the cluster and enterprise profiles, go to Configurations -> Configuration -> Logger Settings -> General, and click View Log Files.
Use the options provided in the Search Criteria area to display log results based on your preferences.
Instance Name — Choose an instance name from the drop-down list to view the log for that server instance. The default is the current server instance.
Log File — Choose a log file name from the drop-down list to view the contents of that log. The default is server.log.
Timestamp — To view the most recent messages, select Most Recent (the default). To view messages only from a certain period of time, select Specific Range and type a date and time value in the From and To fields that appear. For the Time value, the syntax must take the following form (SSS stands for milliseconds):
hh:mm:ss.SSS |
For example:
17:10:00.000 |
If the From value is later than the To value, an error message appears.
Log Level — To filter messages by log level, choose a log level from the drop-down list. By default, the display includes all messages that appear in the server log at the chosen log level and more severe levels. Select the checkbox labeled “Do not include more severe messages” to display messages at only the chosen level.
To ensure that the messages you want to view appear in the server log, first set the appropriate log levels on the Log Levels page. See Configuring Log Levels.
If you choose to filter log messages based on log level, only messages matching the specified filter criteria are shown. However, this filtering does not affect which messages are logged to the server log.
The most recent 40 entries in the server log appear, with the settings specified on the Logging Settings and Log Levels pages.
Click the arrow next to the Timestamp header to sort the messages so that the most recent one appears last.
To view a formatted version of any message, click the link marked
(details) |
A window labeled Log Entry Detail appears, with a formatted version of the message.
At the end of the list of entries, click the buttons to view earlier or later entries in the log file.
Click Advanced Search in the Search Criteria area to make additional refinements to the log viewer. Use the Advanced Options fields as follows:
Logger — To filter by module, choose one or more namespaces from the drop-down list. Use shift-click or control-click to choose multiple namespaces.
Selecting a namespace at a higher level selects all the namespaces below it. For example, selecting javax.enterprise.system also selects the loggers for all the modules under that namespace: javax.enterprise.system.core, javax.enterprise.system.tools.admin, and so on.
Custom Logger — To view messages from loggers specific to a particular application, type the logger names in the text field, one per line. If the application has several modules, you can view any or all of them. For example, suppose the application has loggers with the following names:
com.mycompany.myapp.module1 com.mycompany.myapp.module2 com.mycompany.myapp.module3 |
To view messages from all modules in the application, type com.mycompany.myapp. To view messages from module2 only, type com.mycompany.myapp.module2.
When you specify one or more custom loggers, messages from Enterprise Server modules appear only if you specify them explicitly in the Logger area.
Name-Value Pairs — To view output from a specific thread, type the key name and value for that thread in the text field. The key name is _ThreadID. For example:
_ThreadID=13 |
Suppose that com.mycompany.myapp.module2 runs in several threads. To refine the log viewer to show only the output from a single thread, specify that module’s logger in the Custom Logger field, and then specify the thread ID in this field.
Display — To view more than 40 messages at a time (the default), choose another of the available values from the drop-down list (100, 250, or 1000).
To view stack traces, deselect the “Limit excessively long messages” checkbox. By default, stack traces do not appear in the viewer; to view them, click the (details) link for a message.
Click Basic Search to hide the Advanced Options area.