Logging in PETALS

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (3)

View Page History
h1. Petals Logging specificities

{tip}We can found more informations about few concepts mentionned below in glossary [Glossary|http://doc.petalslink.com/display/glossary/Petals+ESB+specific+vocabulary].{tip}

h2. Level 'MONIT'

Petals defines a new specific level: MONIT. This level is used to [trace the exchange process activities and permit to deduce the process taken into account execution launched by an initial request|Monitoring Petals ESB Flows with its logs].

The level MONIT is inserted between levels CONFIG and FINE:
* {{flows-subdir}}: The name of the directory contained in the {{basedir}} where log files of log records associated to process activities are written. Default value: {{flow-monitoring}},
* {{logFilename}}: The name of log files. Default value: {{petals.log}}.


In addition to standard Handler properties (level, formatter, etc..), PetalsFileHandler can be configured through the following extra properties:

* basedir: base directory where log files will be stored. Default value (if no property set) is user home directory.

In this base directory, you'll find two things:
* a *petals.log* file which contains all petals container logs
* a *flow-monitoring* sub-directory which contains flowInstanceId sub-directories (one per flow instanciation).

h2. Logged informations

Following informations are +common{+}{+}s+ to both formatters:
* Petals Node Name
* Timestamp
* Logger level
* Logger component name
* Log message

We can found more informations about previous concepts in glossary [Glossary|http://doc.petalslink.com/display/glossary/Petals+ESB+specific+vocabulary]

 
 
{warning:title=Environment variable}
Take in account if the following variable is define or not:

_\-Djava.util.logging.config.file=$PETALS_HOME/conf/loggers.properties"_

Because, if the previous argument on your Petals process is setted to another logging file, the loggers.properties under /conf +will not be take in account+.

This setting can create a real problem, you do not necessarily understand where it comes directly
{warning}

h1. Appendix

h2. Default loggers.properties

The default *loggers.properties* is :
{noformat}# PETALS: PETALS Services Platform
# Copyright (C) 2005 EBM WebSourcing
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
#
# Initial developer(s): EBM WebSourcing

handlers=java.util.logging.ConsoleHandler, org.ow2.petals.kernel.logging.PetalsFileHandler

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = org.ow2.petals.kernel.logging.PetalsFormatter

org.ow2.petals.kernel.logging.PetalsFileHandler.level = MONIT
org.ow2.petals.kernel.logging.PetalsFileHandler.basedir = ${petals.home}/logs/
org.ow2.petals.kernel.logging.PetalsFileHandler.formatter = org.ow2.petals.kernel.logging.PetalsFormatter

##Root level
.level = FINEST

##Petals level
Petals.level = FINEST

Petals.Container.Components.level = MONIT

#Petals.PetalsAdminService.level = FINEST
#Petals.AutoLoaderService.level = FINEST
#Petals.ConfigurationService.level = FINEST

#Petals.Container.level = FINEST
#Petals.Container.ContainerService.level = FINEST

#Petals.Container.Lifecycle.level = FINEST
#Petals.Container.Lifecycle.ComponentLifeCycle.level = FINEST
#Petals.Container.Lifecycle.Installer.level = FINEST
#Petals.Container.Lifecycle.ServiceAssemblyLifeCycle.level = FINEST
#Petals.Container.Lifecycle.SharedLibraryLifeCycle.level = FINEST

#Petals.Communication.level = FINEST
#Petals.Communication.TopologyService.level = FINEST
#Petals.Communication.JNDIAgentService.level = FINEST
#Petals.Communication.JNDIService.level = FINEST
#Petals.Communication.JMXService.level = FINEST
#Petals.Communication.RMIConnector.level = FINEST
#Petals.Communication.RemoteCheckerClient.level = FINEST

#Petals.Tools.WebServiceManager.level = FINEST

#Petals.System.level = FINEST
#Petals.System.PersistenceService.level = FINEST
#Petals.System.LoaderManagerService.level = FINEST
#Petals.System.SystemStateService.level = FINEST
#Petals.System.RepositoryService.level = FINEST
#Petals.System.Artifact.FractalArtifactRepositoryService.level = FINEST

#Petals.JBI-Management.level = FINEST
#Petals.JBI-Management.AdminService.level = FINEST
#Petals.JBI-Management.SystemRecoveryService.level = FINEST
#Petals.JBI-Management.InstallationService.level = FINEST
#Petals.JBI-Management.ComponentInstallationService.level = FINEST
#Petals.JBI-Management.DeploymentService.level = FINEST
#Petals.JBI-Management.AtomicDeploymentService.level = FINEST
#Petals.JBI-Management.TransactionManager.level = FINEST

#Petals.JBI-Messaging.level = FINEST
#Petals.JBI-Messaging.RouterMonitorService.level = FINEST
#Petals.JBI-Messaging.RouterService.level = FINEST
#Petals.JBI-Messaging.FlowControllerModule.level = FINEST
#Petals.JBI-Messaging.FlowFilterModule.level = FINEST
#Petals.JBI-Messaging.PriorityOrdererModule.level = FINEST
#Petals.JBI-Messaging.TransportResolverModule.level = FINEST
#Petals.JBI-Messaging.AuthorizationModule.level = FINEST
#Petals.JBI-Messaging.EndpointResolverModule.level = FINEST
#Petals.JBI-Messaging.JAASAuthenticationModule.level = FINEST
#Petals.JBI-Messaging.PriorityOrdererModule.level = FINEST
#Petals.JBI-Messaging.EndpointRegistry.level = FINEST
#Petals.JBI-Messaging.JMXExchangeCheckerClient.level = FINEST

#Petals.JBI-Component.ComponentContext.level = FINEST

#Petals.Transporter.level = FINEST
#Petals.Transporter.LocalTransporter.level = FINEST
#Petals.Transporter.NioTransporter.level = FINEST
#Petals.Transporter.NioTransportProtocol.NioSelectorAgent.level = FINEST
#Petals.Transporter.NioTransportProtocol.NioServerAgent.level = FINEST
#Petals.Transporter.NioTransportProtocol.NioClientObjectPool.level = FINEST

#Petals.WS.level = FINEST
#Petals.WS.ArtifactRepositoryService.level = FINEST
#Petals.WS.DeploymentService.level = FINEST
#Petals.WS.DragonConnectionService.level = FINEST
#Petals.WS.EndpointService.level = FINEST
#Petals.WS.InformationService.level = FINEST
#Petals.WS.InstallationService.level = FINEST
#Petals.WS.JBIArtefactsService.level = FINEST
#Petals.WS.RuntimeService.level = FINEST
#Petals.WS.ServiceAssemblyStateService.level = FINEST
#Petals.WS.TopologyService.level = FINEST
{noformat}

[^loggers.properties] 

h3. Default log4j.properties

The default *log4j.properties* is :
{noformat}# Set the options for the Console appender.
# Console's layout is a PatternLayout, using the conversion pattern
# %d: current date in ISO8601 format
# %p: priority of the logging event
# %c: category name
# %m: the message
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d %-5p %c{3} %m\n

# Root logger set to INFO using the Console appender defined above.
log4j.rootLogger=fatal,Console

######################
# Logger definitions #
######################

# CXF logger #
#log4j.logger.org.apache.cxf=fatal,Console
#log4j.additivity.org.apache.cxf=true

# Hibernate logger #
log4j.logger.org.hibernate=fatal,Console
log4j.additivity.org.hibernate=true

# Registry logger #
log4j.logger.org.ow2.petals.registry=fatal,Console
log4j.additivity.org.ow2.petals.registry=true{noformat}

[^log4j.properties] 
{column}