A number of the Enterprise Server subsystems create log files and log their events to these files. The primary purpose of these log files is to provide troubleshooting information.
In addition to the message text, a logged message provides the following information:
Date and time of the event
Log level for the event — Enterprise Server-specified log level ID or name
Process identifier (PID) — PID of the Enterprise Server process
(optional) Virtual server identifier (VSID) — VSID that generated the message
Message identifier (MID) — subsystem and a four digit integer
Message data
The specific logs associated with each Enterprise Server problem area are discussed in the associated chapters of this manual.
The Enterprise Server has many log levels that can be set in the Administration GUI (FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALERT, and FATAL). All messages are logged when the log level is set to FINEST and only serious error messages appear if the log level is set to FATAL.
Note that the more detailed log levels (FINEST, FINER, FINE) can generate high volumes of log information for certain events, which may make it appear at first glance that there is an error condition when in fact there is not.
All messages with a log level less than the default level of INFO (FINEST, FINER, FINE, and CONFIG) provide information related to debugging and must be specifically enabled. Instructions for doing this are contained in the Sun GlassFish Enterprise Server Administrator's Guide.
In addition to the standard JDK log levels, the Enterprise Server has added log levels designed to map more intuitively to the Enterprise Server log file (server.log) and to tightly integrate with Solaris. The log levels ALERT and FATAL are specific to the Enterprise Server and are not implemented in the JDK1.4 logging API.
For information on the event log mechanism used in the Microsoft Windows operating environment, refer to the Windows help system index using the keywords Event Logging. If you choose to send logs to the Windows server.log file, only messages with a log level of INFO, WARNING, SEVERE, ALERT, or FATAL are logged to the Windows Event Log.
The Administration GUI provides the following two logging options:
Option 1 — Log stdout (System.out.print) content to the event log
Option 2 — Log stderr (System.err.print) content to the event log
When these options are set, stdout and stderr messages are written to the server.log file. (The event log is a syslog daemon on Solaris and Event Log on Microsoft Windows.)
If the above options are not set:
Anything written to stdout or stderr (that is, using System.out or System.err) will not appear in the logs.
Messages logged with the JDK logger will appear in the logs.
Messages written to stdout or stderr appear with the INFO level, but do not have a message ID.
The Application Client Container (ACC) has its own log service and can only log to a local file. The ACC typically runs in its own process, on a different host from the Enterprise Server. It has its own logging infrastructure and its own log file. The sun-acc.xml file contains the ACC configuration. Refer to the Sun GlassFish Enterprise Server Application Server Developer's Guide to Clients for more information.
This section explains how to obtain a thread dump for Enterprise Server v2.1.1. By default, the server dumps a core file and restarts with the -Xrs java-option flag in the server.xml file.
The following procedure describes how to obtain a server thread dump on UNIX.
Verify that the server.xml file for the affected server instance does not include the -Xrs java-option flag. Remove the -Xrs java-option flag if it exists.
If the option is changed, restart the server instance.
Use the ps command to determine the java and/or appservDAS processes under which the application server is running.
Run the following command on the application server instance:
kill -3 pid |
The kill command redirects the thread dump to the server.log file for server the instance.
The following procedure describes how to obtain a server thread dump on Windows.
Verify that the server.xml file for your server instance does not include the -Xrs java-option flag. Remove the -Xrs java-option flag if it exists.
If the option was changed, restart your Enterprise Server.
Type ctrl-brk in the Enterprise Server window. The thread dump will be redirected to the server.log file for the instance.