Apache Incubator

Logging

Introduction

Logging in Sling is supported by the org.apache.sling.sling-log bundle, which is one of the first bundles installed and started by the Sling Launcher. The org.apache.sling.sling-log bundle has the following tasks:

Initial Configuration

The org.apache.sling.sling-log bundle gets the initial configuration from the following BundleContext properties:

Property Default Description
org.apache.sling.osgi.log.intialize true Initial configuration property specifying whether LOGBack should be initialized here or not. If this property is missing or set to true, this class will reset and configure LOGBack. Otherwise, LOGBack is neither reset nor configured by this class. This property may be used to prevent resetting LOG4J which might be configured by a container and reused by the Framework. Setting this property to anything but true causes the other properties to be ignored.
org.apache.sling.osgi.log.level WARN Sets the initial logging level of the root logger. This may be any of the defined logging levels, which are by default DEBUG, INFO, WARN, ERROR and FATAL.
org.apache.sling.osgi.log.file undefined Sets the log file to which log messages are written. If this property is empty or missing, log messages are written to System.out.
org.apache.sling.osgi.log.pattern %d{dd.MM.yyyy HH:mm:ss} !*%-5p* %c{1}: %m%n The logging pattern to be set for the PatternLayout of root logger appender.
org.apache.sling.osgi.log.url undefined If this property is set to an URL pointing to an existing configuration file; level, file and pattern properties are ignored.

User Configuration

User Configuration after initial configuration is provided by the Configuration Admin Service. To this avail a org.osgi.services.cm.ManagedService is registered under the PID org.apache.sling.osgi.log.LogbackManager which may receive configuration.