PreviousNextIndex
Good Technology

Log Management

The server automatically maintains production log files and makes available a number of diagnostic log files. In addition, it provides properties that allow you to specify the format used for displaying times in log files and to specify when and how often log files are rolled. This section describes log file properties you can set in the config.props file.

Location of Log Files

All log files have a Good Intranet assigned name and are stored (by default) in the server's install_dir\logs directory.

Note: Filenames for individual logs (for example, redirect.log) are set by the server and cannot be changed.

Log Rolling

The "Log rolling" section of the config.props file allows you to determine how frequently log files are rolled. When a log file is rolled, the file is closed and a new log file is opened with the current date and time appended to the log name.

Logs are renamed using the following syntax:

name.logMM-dd-yy.HH-mm-ss

where MM-dd-yy.HH-mm-ss represents the time the log file roll operation occurred. For example, access.log12-21-03.00-00-00.

By default, log files are rolled every 24 hours, at midnight.

The following table describes the servers log rolling properties:

Property Name
Default
Description
log.roll.interval
day
Specifies the length of time that a log file is open, before it is closed and a new log file started. Log rolling intervals can be none, hour, or day.
If the value is set to none (or no value is specified) log rolling will not occur.

Time Format Used in Time Stamps

Every entry in a log file has a time stamp marking the time that an event was logged.

Configuring Event and Good Operations Logging

Use the following properties to configure the Event log and/or to send messages to the good-ndc.log file.

Properties for the Event log include:

Property Name
Default
Description
ntevent.log.enable
true
Enables the Event log. If true the log is enabled. This log stores severe errors encountered by the server, including server configuration errors.

Properties for the single log file include:

Property Name
Default
Description
good-ndc.log.enable
true
Enables a global log file for all communications between Good Intranet Server and the Good Operations Center. If true the log is enabled and all server communication related logging messages are stored in this file.

In some cases, when communicating with the Good Operations Center, the Good Intranet Server and Good Messaging Server share the same log messages. Even though the Good Intranet Server generates these messages, the term "Good Messaging Server" may appear in the messages. For more information, see Shared Log Messages

Access Log

The access log records web activity. Entries are recorded in an extended version of Common Log Format, a standard access-log format for web servers. Each entry contains the following information:

Log Entry
Description
Remote ID
The handheld identifier (email address) from which a wireless communication is received.
Date
The date and time of an HTTP request, enclosed in brackets. For example: [28/Aug/2001:12:21:26 -0800]
Request
A request line, enclosed double quotes, exactly as it was received from the browser.
A request line includes the destination URL and the method (usually GET) used to retrieve it. For example:
"GET http://www.pozart.com:80/the/portal/cal/cday.po?date=20010828&sk=zZ6Z2Q2t5lHVQgk82jTRgg-V HTTP/1.0"
Status
A status code returned by the web server, indicating success or a type of failure.
Bytes
The number of bytes of content returned by the web server.
Referrer
The URL the browser was on before requesting the current URL. If no referrer-URL is specified, appears as - (minus sign).
User agent
The type of browser used to make the request. User agent is enclosed in double quotes. For example: "MyHandheld 1.5 (GoodTechnology Handheld; OS v. 1.0)"
User agent is a standard extension to common log format.

For security purposes, Good Technology recommends reviewing the access log periodically to monitor handheld connections on your network. The following is an example of an entry in an access log:

192.168.4.25 - - [27/Mar/2001:14:34:33 -0800] "GET http://localhost/prod/index.wml HTTP/1.0" 200 388 - "Good Intranet 8.1 (PPC; IP; OS v. 8.5 8192K)"

Content Log

Logs content errors, such as incorrect HTML tags, that prevent Good Intranet from displaying a page. Entries appear for errors relating to incorrectly encoded HTTP messages and also for HTML parsing errors.

Example

2004-10-28 10:39:30 -0700 [Warn] WSPCodec: Ignoring unsupported encoding WWW-Authenticate: NTLM []
2004-10-28 16:55:38 -0700 [Crit] [] Content Transcoder: java.io.EOFException

The previous entry includes:

This log lets administrators know about content issues and tells administrators if they have the ability or authorization to correct those issues. In the previous example, the content errors can be corrected by matching the timestamps for the entries in the content log with the entries in the access log. This identifies the resources causing the error. In this case, the problem can be corrected by changing the web server's default authentication challenge from NTLM to Basic and figuring out why the web server returned no data.

Default Log

Contains start up, configuration, and shutdown information. It contains information about the normal running operations of the server. The log contains information related to normal startup, configuration, user administration, and shutdown.

Example

1102406400000
Product: Good IntranetServer
Company: Good Technology, Inc.
Version: 1.0.2.36
Starting Good IntranetServer at: Tue Dec 07 17:52:33 PST 2004
2004-12-07 17:52:35 -0800 Users Starting...
2004-12-07 17:52:38 -0800 Users provider "default" registered
2004-12-07 17:52:38 -0800 Users connecting to provider "default" using GMClientAPI (version 4.0.0.36)
2004-12-07 17:52:38 -0800 Users provider "default" connected to GMS "cheetah"
2004-12-07 17:52:38 -0800 Users provider "default" GMS (version 4.0.0.36)
2004-12-07 17:52:39 -0800 Users Started
2004-12-07 17:52:47 -0800 [Info] Connection Manager: SSL initialized
2004-12-07 17:52:47 -0800 [Info] Connection Manager: SSL Connection: true
2004-12-07 17:52:47 -0800 [Info] Connection Manager: Proxy Manager: false
2004-12-07 17:52:47 -0800 [Info] Request Module : Content Transcoder, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Request Module : URL Substitution, version 1.0.2.36: false
2004-12-07 17:52:47 -0800 [Info] Request Module : Host Substitution, version 1.0.2.36: false
2004-12-07 17:52:47 -0800 [Info] Request Module : Good IntranetServer, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Request Module : Header Management Module, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: Redirection Handler, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: Content Transcoder, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: MetaCookie Module, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: Response Size Limiter, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: Diff, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response Module: Good IntranetServer, version 1.0.2.36: true
2004-12-07 17:52:47 -0800 [Info] Response (Final) Module: Access Logger, version 1.0.2.36: true
2004-12-07 17:52:52 -0800 [Info] GAS: Started
2004-12-07 17:59:53 -0800 Users provider "default" adding user
"/o=Dev Eng Good Technology/ou=Site2/cn=Recipients/cn=dprice"
2004-12-07 19:15:32 -0800 Users provider "default" deleting user
"/o=Good Technology/ou=SF Bay Area/cn=Recipients/cn=ddavis"

In the previous example, the Good Intranet Server connected to the Good Management Server, named cheetah, and it was started on December 7, 2004 at 5:52 p.m. The user dprice was added to and user ddavis was removed from the Good Intranet Server. Because users are managed through the Good Management Console, these user-related log event entries register that Good Intranet Server accepted the changes from the Good Management Server.

Push Log

This log stores information about the states of push messages and their deliverables. It also includes information about when push messages are stored on the server and when they are delivered to the client. It contains a push identifier, URL, user's email address, and push status. The push identifier is system generated and assigned to the push message when the push was initially submitted to the system for delivery.

Example

This log is shows the changing status of the push message for each client that it was addressed to. Messages normally transition from pending, to enroute then to delivered. The following table describes the various push states.

State
Description
pending
Push message pending for delivery.
enroute
Push message sent and is on its way to the user.
delivered
Push message received by the client.
cancelled
Push message cancelled prior to delivery.
expired
Push message expired before it could be delivered.
obsolete
Push message replaced by newer deliverable with the same push ID.
unknown
Unknown internal error occurred.
aborted
Push message delivery was cancelled by the client.
error_address
The specified address is invalid.
error_transport
Transport error occurred.
error_queue_full
The handheld's queues is full.
error_attempts
The maximum number of delivery attempts has been exceeded.

2006-09-14 02:25:06 -0700 [Event] Push: PID-fefc427203 URL: http://www.good.com angel@good.com pending
2006-09-14 02:25:13 -0700 [Event] Push: PID-fefc427203 URL: http://www.good.com angel@good.com enroute
2006-09-14 02:25:29 -0700 [Event] Push: PID-fefc427203 URL: http://www.good.com angel@good.com delivered
2006-09-14 02:25:29 -0700 [Event] Push: PID-fefc427203 URL: http://www.good.com angel@good.com notify delivered
2006-09-14 02:29:18 -0700 [Event] Push: PID-fefc464c2d URL: http://www.good.com lsmith@good.com pending
2006-09-14 02:29:18 -0700 [Event] Push: PID-fefc464c2d URL: http://www.good.com dprice@good.com pending
2006-09-14 02:29:18 -0700 [Event] Push: PID-fefc464c2d URL: http://www.good.com ddavis@good.com pending

The log event contains a push ID, a user email address, and push-status. The push ID is a system-generated identifier assigned to the push message when the push message was initially submitted for delivery.


Good Technology
www.good.com
Voice: 1 866-7-BE-GOOD
sales@good.com
PreviousNextIndex