User Tools

Site Tools

Evergreen/OpenSRF log levels

OpenSRF supports 5 different logging levels: ERROR, WARN, INFO, DEBUG, and INTERNAL. They are controlled in the "bootstrap" configuration file, usually found at /openils/conf/opensrf_core.xml. Log levels are configured with a number, 1 to 5, where 1 equals ERROR and 5 equals INTERNAL. There are 4 classifications of services across which the configured log level is shared. These include Apache (gateway), the OpenSRF routers, OpenSRF services, and srfsh. In a production environment, the following log levels are recommended for each service.

  • Apache Gateway – INFO
  • OpenSRF Routers – WARN
  • OpenSRF services – INFO
  • srfsh – INFO (or DEBUG)
Description of log levels

ERROR: Error logging only shows system and application errors. These errors typically indicate an application-level exception and are non-fatal to the system as a whole. However, if systemic problems arise, they will show up in this log as well.

WARN: There isn't a lot of content that logs at this level. The most useful data that is logged as a WARNing are instances of exhausted C service drone processes. A certain amount of this is expected, but many occurrences of this on a daily basis is an indication of insufficient resources or resource starvation.

2008-01-14 11:32:08 app123 open-ils.cstore: [WARN:877:osrf_prefork.c:515:] We have no children available - waiting for one to show up…

INFO: Info logging is used to indicate application-level activity. Info logs provide details on inbound API requests, execution of custom policy scripts (circulation / holds), and high-level flow of execution. Most problems can be diagnosed at INFO level. Info logging also includes API call timing data. For example:

2009-08-26 00:00:00 app123 open-ils.cstore: [INFO:9762:osrf_stack.c:116:] Message processing duration 0.001547

The Message processing duration indicates the amount of time between receiving a request and sending the response. This data is logged for all OpenSRF services at all levels. This data is also logged for OpenSRF client applications, which means top-level HTTP requests which are translated into OpenSRF calls are logged with the call duration as well. This results in a system that produces timing data for each request to each OpenSRF component for ease of identifying bottlenecks in software execution.

DEBUG: Debug logs should only be used for development or debugging purposes. They include a high volume of log data which is generally only useful for developers.

INTERNAL: This is debug logging on stereoids. It should never be used.

evergreen-admin/configuration/loglevels.txt · Last modified: 2022/02/10 13:34 by

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.