Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "COSMOS Logging"

(Logging Configurations)
(Logging Configurations)
Line 3: Line 3:
 
== Logging Configurations ==
 
== Logging Configurations ==
 
To configure a web applciation to use log4j, we need a configuration file called log4j.properties in the classpath, usually put under WebContent/WEB-INF/classes.  Axis2.jar comes with a log4j.properties that contains some default settings.
 
To configure a web applciation to use log4j, we need a configuration file called log4j.properties in the classpath, usually put under WebContent/WEB-INF/classes.  Axis2.jar comes with a log4j.properties that contains some default settings.
 +
 +
The installation/configuration program of the COSMOS demo should update the log4j.properties file to include settings appropriate for the COSMOS demo.  Deployers can also customize the logging settings. 
 +
 +
In order to log all log entries to the same log file, we need to add the following lines to the log4j.properties:
 +
<pre>
 +
# Configure all classes in the org.eclipse.cosmos namespace to use the COSMOSLOG logger
 +
# Change "ALL" to the desired log level
 +
log4j.logger.org.eclipse.cosmos=ALL, COSMOSLOG
 +
 +
# COSMOSLOG is set to be a File appender using a PatternLayout.
 +
log4j.appender.COSMOSLOG=org.apache.log4j.FileAppender
 +
log4j.appender.COSMOSLOG.File=${CATALINA_HOME}/logs/cosmos.log
 +
log4j.appender.COSMOSLOG.Append=true
 +
log4j.appender.COSMOSLOG.layout=org.apache.log4j.PatternLayout
 +
log4j.appender.COSMOSLOG.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
 +
<pre>
 +
 +
The above configuration will write the logs to cosmos.log file in the logs directory under the Tomcat install directory.
 +
 +
We can also configure log4j to open a log file for each web application or web service, assume each web application or web service has a unique package namespace.  For example, if we want the broker to have a separate log file, we can add the following lines to the log4j.properties:
 +
<pre>
 +
# Logger for COSMOS Broker
 +
log4j.logger.org.eclipse.cosmos=ALL, BROKERLOG
 +
 +
# COSMOSLOG is set to be a File appender using a PatternLayout.
 +
log4j.appender.BROKERLOG=org.apache.log4j.FileAppender
 +
log4j.appender.BROKERLOG.File=${CATALINA_HOME}/logs/cosmos-broker.log
 +
log4j.appender.BROKERLOG.Append=true
 +
log4j.appender.BROKERLOG.layout=org.apache.log4j.PatternLayout
 +
log4j.appender.BROKERLOG.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
 +
</pre>
  
 
== Logging API ==
 
== Logging API ==

Revision as of 15:43, 13 May 2008

Logging for Web Applications and Web Services

Log4j will be used to do logging in web applications (such as the COSMOS UI) and web services (data managers). Information about log4j can be found at the log4j website.

Logging Configurations

To configure a web applciation to use log4j, we need a configuration file called log4j.properties in the classpath, usually put under WebContent/WEB-INF/classes. Axis2.jar comes with a log4j.properties that contains some default settings.

The installation/configuration program of the COSMOS demo should update the log4j.properties file to include settings appropriate for the COSMOS demo. Deployers can also customize the logging settings.

In order to log all log entries to the same log file, we need to add the following lines to the log4j.properties:

# Configure all classes in the org.eclipse.cosmos namespace to use the COSMOSLOG logger
# Change "ALL" to the desired log level
log4j.logger.org.eclipse.cosmos=ALL, COSMOSLOG

# COSMOSLOG is set to be a File appender using a PatternLayout.
log4j.appender.COSMOSLOG=org.apache.log4j.FileAppender
log4j.appender.COSMOSLOG.File=${CATALINA_HOME}/logs/cosmos.log
log4j.appender.COSMOSLOG.Append=true
log4j.appender.COSMOSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.COSMOSLOG.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
<pre>

The above configuration will write the logs to cosmos.log file in the logs directory under the Tomcat install directory. 

We can also configure log4j to open a log file for each web application or web service, assume each web application or web service has a unique package namespace.  For example, if we want the broker to have a separate log file, we can add the following lines to the log4j.properties:
<pre>
# Logger for COSMOS Broker
log4j.logger.org.eclipse.cosmos=ALL, BROKERLOG

# COSMOSLOG is set to be a File appender using a PatternLayout.
log4j.appender.BROKERLOG=org.apache.log4j.FileAppender
log4j.appender.BROKERLOG.File=${CATALINA_HOME}/logs/cosmos-broker.log
log4j.appender.BROKERLOG.Append=true
log4j.appender.BROKERLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.BROKERLOG.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n

Logging API

Log Levels

Naming Convention for Message Keys

Externalize log messages

Logging for Eclipse Plugins

Back to the top