Skip Headers

Oracle® HTTP Server Administrator's Guide
10g Release 1 (10.1)

Part Number B12255-01
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page

Go to previous page
Go to next page
View PDF

Configuring and Using Server Logs

This chapter discusses Oracle Diagnostic Logging, log formats, and describes various log files and their locations.

Topics discussed are:

Documentation from the Apache Software Foundation is referenced when applicable.


Readers using this guide in PDF or hard copy formats will be unable to access third-party documentation, which Oracle provides in HTML format only. To access the third-party documentation referenced in this guide, use the HTML version of this guide and click the hyperlinks.

Using Oracle Diagnostic Logging

Oracle offers a new method for reporting diagnostic messages. This new method, Oracle Diagnostic Logging (ODL), presents a common format for diagnostic messages and log files, and a mechanism for correlating all diagnostic messages from various components across Oracle Database. Using ODL, each component logs messages to its own private local repository. A tool called LogLoader collects messages from each repository and loads them into a common repository where messages can be viewed as a single log stream, or analyzed in different ways.

You can view Oracle Database diagnostic log files using a text editor.

See Also:

Oracle Application Server 10g Administrator's Guide for detailed information regarding Oracle Diagnostic Logging.


Oracle HTTP Server enables you to choose the format in which you want to generate log messages. You can either continue to generate log messages in the legacy Apache message format, or generate log messages using ODL, which complies with the new Oracle-wide standards for generating log messages.

Configuring Oracle HTTP Server

To enable Oracle HTTP Server to use ODL, enter the directives specified in the subsequent section in the httpd.conf file. Oracle recommends that you enter the directives before any modules are loaded (LoadModule directive) in the httpd.conf file so that module-specific logging severities are in effect before modules have the opportunity to perform any logging.

OraLogMode apache | oracle

Enables you to switch between ODL and legacy Apache logging facility.

Default: apache

OraLogSeverity [module_name <msg_type>[:msg_level]

Enables you to set message severity. The message severity specified with this directives is interpreted as the lowest message severity that is desired, and all messages of that severity level and higher will be logged. OraLogSeverity may be specified multiple times. It can be specified globally (no module_name) and once for each module for which a module-specific logging severity is desired.


This argument is the internal name of a module, as it appears in the module structure. The <IfModule> directive also makes use of this internal name. The module structure derives the module name from the value of the _FILE_ macro, without path prefix, of the file which defines the module structure. If a module name is not supplied, the OraLogSeverity directive is applied globally.

If the module name is specified, then the directive overrides the global directive value of all the messages originating from the specified module. Specifying a module name for a module that does not get loaded generates an error.


Message types may be specified in upper or lower case, but will appear in the message output in upper case. This parameter must be of one of the following values:


This parameter must be an integer in the range of 1-32.

Table 6-1 lists some examples of OraLogSeverity.

Table 6-1 Examples of OraLogSeverity
OraLogSeverity Example Action Taken

OraLogSeverity INTERNAL_ERROR:10

Logs all messages of type "internal error" of levels 1-10

OraLogSeverity WARNING:7

Logs all messages of type "internal error" of all levels

Logs all messages of type "error" of all levels

Logs all messages of type "warning" of levels 1-7

OraLogSeverity WARNING

For messages from other sources:

  • Logs all messages of type "internal error" of all levels
  • Logs all messages of type "error" of all levels
  • Logs all messages of type "warning" of all levels


If a message level is not specified, then the level defaults to the lowest severity. If the entire directive is omitted, then the value of the global Apache LogLevel directive is used and translated to the corresponding Oracle message type and the lowest level within the corresponding range, as listed in Table 6-2:

Table 6-2 Apache Log Level and Corresponding Oracle Message Type  
Apache Log Level Oracle Message Type

















See Also:

"Specifying Log Level"

OraLogDir <bus stop dir>

Specifies the path to the directory which contains all log files. This directory must exit.


Specifying Log Formats

LogFormat specifies the information included in the log file, and the manner in which it is written. The default format is the Common Log Format (CLF). The CLF format is: host ident authuser date request status bytes

Specifying Log Level

Table 6-3 lists all the different logging levels, their descriptions, and, example messages:

Table 6-3 Logging Level
Logging Level Description Example Message


Emergencies- system is unusable.

"Child cannot open lock file. Exiting."


Action must be taken immediately.

"getpwuid: couldn't determine user name from uid"


Critical conditions.

"socket: Failed to get a socket, exiting child"


Error conditions.

"Premature end of script headers"


Warning conditions.

"child process 1234 did not exit, sending another SIGHUP"


Normal but significant condition.

"httpd: caught SIGBUS, attempting to dump core in..."


Informational messages that describe possible problems and possible solutions to those problems.

"Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..."


Debug-level messages.

"Opening config file..."

Specifying Log Files

The log files are discussed in the subsequent sections:

It is important to periodically rotate the log files by moving or deleting existing logs on a moderately busy server. For this, the server must be restarted after the log files are moved or deleted so that new log files are opened.

See Also:

"Log Rotation" in the Apache Server documentation.

Access Log

The server access log records all requests processed by the server. The location and content of the access log is controlled by the CustomLog directive. The LogFormat directive can be used to simplify the selection of the contents of the logs.

See Also:

"Access Log" in the Apache Server documentation.


The CustomLog directive is used to log requests to the server. A log format is specified, and the logging can optionally be made conditional on request characteristics using environment variables.

See Also:

"CustomLog directive" in the Apache Server documentation.

Error Log

The server sends diagnostic information and records error messages to a log file located, by default, in:

The file name can be set using the ErrorLog directive.

See Also:

"ErrorLog directive" in the Apache Server documentation.

PID File

When the server is started, it notes the process ID of the parent httpd process to the PID file located by, default, in

This filename can be changed with the PidFile directive. The process ID is for use by the administrator for restarting and terminating the daemon. If the process dies (or is killed) abnormally, then it is necessary to kill the children httpd processes.

See Also:

"Pid File" in the Apache Server documentation.

Piped Log

Oracle HTTP Server is capable of writing error and access log files through a pipe to another process, rather than directly to file. This increases the flexibility of logging, without adding code to the main server. In order to write logs to a pipe, replace the file name with the pipe character "|", followed by the name of the executable which should accept log entries on its standard input. Oracle HTTP Server starts the piped-log process when the server starts, and restarts it if it crashes while the server is running.

See Also:

"Piped Log" in the Apache Server documentation.

Rewrite Log

Rewrite Log is necessary for debugging when mod_rewrite is used. This log file produces a detailed analysis of how the rewriting engine transforms requests. The level of detail is controlled by the RewriteLogLevel directive.

See Also:

"Rewrite Log" in the Apache Server documentation.

Script Log

Script Log enables you to record the input to and output from the CGI scripts. This should only be used in testing, and not for live servers.

See Also:

"Script Log" in the Apache Server documentation.


When Oracle HTTP Server starts in SSL mode, it creates ssl_engine_log and ssl_request_log in

ssl_engine_log tracks SSL and protocol issues, where as ssl_request_log records user activity. Use the SSLLogFile directive to control output.

See Also:

"Enabling SSL"

Transfer Log

Transfer Log specifies the file in which to store the log of accesses to the site. If it is not explicitly included in the conf file, then no log is generated. The server typically logs each request to a transfer file located, by default, in

The filename can be set using a CustomLog directive.