wiki:MapGuideRfc49

Version 8 (modified by trevorwekel, 17 years ago) ( diff )

--

MapGuide RFC 49 - Enhance Server Error and Trace Logs

This page contains an change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission Date June 16, 2008
Last Modified Trevor Wekel Timestamp
AuthorTrevor Wekel
RFC Statusnot reader for review
Implementation Statuspending
Proposed Milestone1.2, 2.0, 2.1
Assigned PSC guide(s)(when determined)
Voting HistoryJune 23, 2008
+1
+0
-0
-1
no vote

Overview

This proposal enhances the Server Error and Trace logs to include more detailed information about server operations.

Motivation

The MapGuide Server is a very complicated application and the current logs provide insufficient detail to determine the root cause of issues on production servers. The proposed functionality enhances the core framework so that additional logging information can be added over a period time.

Proposed Solution

Implement a classification system for log details controlled by a LogsDetail parameter in serverconfig.ini:

[GeneralProperties]
LogsDetail = ResourceService:0,FeatureService:1,RenderingService:2,MappingService:3

The per-service classification scheme is defined as follows:

  • Level 0 - Errors
    • This is the default level of detail
    • Errors (exceptions) are logged without method parameters for the specified service
    • Warnings are not logged for this service
    • Traces are not logged for this service
  • Level 1 - Warnings and Errors
    • Errors (exceptions) are logged with method parameters for the specified service
    • Warnings are logged with parameters for this service
    • Traces are not logged for this service
  • Level 2 - Trace, Warnings, and Errors
    • All Level 1 detail, plus
    • Traces with parameters are logged for published Service API calls
  • Level 3 - Internal Trace, Trace, Warnings, and Errors
    • All Level 2 detail, plus
    • Traces with parameters are logged for internal API calls

A new parameter THREAD will be supported by both the error and trace logs. This parameter writes the current thread identifier into the log file which is useful for call stack tracing. STACKTRACE support also will be added to the trace log for warning and error messages.

The existing Error log will be enhanced to include warning messages for a service and call parameters, if desired.

The existing Trace log will also include error messages, warning messages and call parameters, if desired.

Implications

Level 0 matches the existing functionality set without the trace log. The enhanced Level 1 to 3 functionality will be implemented over time.

Additional internal C++ code constructs will be introduced within the MapGuide Server code base to implement the enchanced functionality. These constructs are internal only and beyond the scope of this RFC.

Test Plan

Funding/Resources

Autodesk

Note: See TracWiki for help on using the wiki.