-
-
Notifications
You must be signed in to change notification settings - Fork 392
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use XML instead of properties file for log4j2 configuration (#1078)
Note that Karaf processes the log4j2 configuration to add the sshd logger and this processing of XML elements is case sensitive. It will throw exceptions if lower case element names are used or when the root logger is at the end of the list of loggers. When new loggers are added, the XML configuration is serialized such that: * The <Configuration> element is added to the same line as the <?xml> element * Attributes are sorted so therefor the 'name' is at the end of the appender/logger lines Related to #516 Signed-off-by: Wouter Born <github@maindrain.net>
- Loading branch information
Showing
2 changed files
with
108 additions
and
139 deletions.
There are no files selected for viewing
107 changes: 107 additions & 0 deletions
107
distributions/openhab/src/main/resources/userdata/etc/log4j2.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Configuration> | ||
|
||
<Appenders> | ||
<!-- Console appender not used by default (see Root logger AppenderRefs) --> | ||
<Console name="STDOUT"> | ||
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/> | ||
</Console> | ||
|
||
<!-- Rolling file appender --> | ||
<RollingFile fileName="${sys:openhab.logdir}/openhab.log" filePattern="${sys:openhab.logdir}/openhab.log.%i" name="LOGFILE"> | ||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/> | ||
<Policies> | ||
<SizeBasedTriggeringPolicy size="16 MB"/> | ||
</Policies> | ||
</RollingFile> | ||
|
||
<!-- Event log appender --> | ||
<RollingRandomAccessFile fileName="${sys:openhab.logdir}/events.log" filePattern="${sys:openhab.logdir}/events.log.%i" name="EVENT"> | ||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/> | ||
<Policies> | ||
<SizeBasedTriggeringPolicy size="16 MB"/> | ||
</Policies> | ||
</RollingRandomAccessFile> | ||
|
||
<!-- Audit file appender --> | ||
<RollingRandomAccessFile fileName="${sys:openhab.logdir}/audit.log" filePattern="${sys:openhab.logdir}/audit.log.%i" name="AUDIT"> | ||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/> | ||
<Policies> | ||
<SizeBasedTriggeringPolicy size="8 MB"/> | ||
</Policies> | ||
</RollingRandomAccessFile> | ||
|
||
<!-- OSGi appender --> | ||
<PaxOsgi filter="*" name="OSGI"/> | ||
</Appenders> | ||
|
||
<Loggers> | ||
<!-- Root logger configuration --> | ||
<Root level="WARN"> | ||
<AppenderRef ref="LOGFILE"/> | ||
<AppenderRef ref="OSGI"/> | ||
</Root> | ||
|
||
<!-- Karaf Shell logger --> | ||
<Logger level="OFF" name="org.apache.karaf.shell.support"> | ||
<AppenderRef ref="STDOUT"/> | ||
</Logger> | ||
|
||
<!-- Security audit logger --> | ||
<Logger additivity="false" level="INFO" name="org.apache.karaf.jaas.modules.audit"> | ||
<AppenderRef ref="AUDIT"/> | ||
</Logger> | ||
|
||
<!-- openHAB specific logger configuration --> | ||
|
||
<Logger level="INFO" name="org.openhab"/> | ||
|
||
<Logger level="ERROR" name="smarthome.event.ItemStateEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.ItemAddedEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.ItemRemovedEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.ThingStatusInfoEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.ThingAddedEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.ThingRemovedEvent"/> | ||
<Logger level="ERROR" name="smarthome.event.InboxUpdatedEvent"/> | ||
|
||
<Logger additivity="false" level="INFO" name="smarthome.event"> | ||
<AppenderRef ref="EVENT"/> | ||
<AppenderRef ref="OSGI"/> | ||
</Logger> | ||
|
||
<Logger level="ERROR" name="javax.jmdns"/> | ||
<Logger level="ERROR" name="org.jupnp"/> | ||
|
||
<!-- This suppresses all Maven download issues from the log when doing feature installations --> | ||
<!-- as we are logging errors ourselves in a nicer way anyhow. --> | ||
<Logger level="ERROR" name="org.ops4j.pax.url.mvn.internal.AetherBasedResolver"/> | ||
|
||
<!-- Filters known issues of pax-web (issue link to be added here). --> | ||
<!-- Can be removed once the issues are resolved in an upcoming version. --> | ||
<Logger level="OFF" name="org.ops4j.pax.web.pax-web-runtime"/> | ||
|
||
<!-- Filters known issues of lsp4j, see --> | ||
<!-- https://github.com/eclipse/smarthome/issues/4639 --> | ||
<!-- https://github.com/eclipse/smarthome/issues/4629 --> | ||
<!-- https://github.com/eclipse/smarthome/issues/4643 --> | ||
<!-- Can be removed once the issues are resolved in an upcoming version. --> | ||
<Logger level="OFF" name="org.eclipse.lsp4j"/> | ||
|
||
<!-- Filters known issues of KarServiceImpl, see --> | ||
<!-- https://github.com/openhab/openhab-distro/issues/519#issuecomment-351944506 --> | ||
<!-- Can be removed once the issues are resolved in an upcoming version. --> | ||
<Logger level="ERROR" name="org.apache.karaf.kar.internal.KarServiceImpl"/> | ||
|
||
<!-- Filters warnings about unavailable ciphers when JCE is not installed, see --> | ||
<!-- https://github.com/openhab/openhab-distro/issues/999 --> | ||
<Logger level="ERROR" name="org.apache.karaf.shell.ssh.SshUtils"/> | ||
|
||
<!-- Filters known issues of javax.mail, see --> | ||
<!-- https://github.com/openhab/openhab-addons/issues/5530 --> | ||
<Logger level="ERROR" name="javax.mail"/> | ||
|
||
<!-- Added by Karaf to prevent debug logging loops, see --> | ||
<!-- https://issues.apache.org/jira/browse/KARAF-5559 --> | ||
<Logger level="WARN" name="org.apache.sshd"/> | ||
</Loggers> | ||
|
||
</Configuration> |
140 changes: 1 addition & 139 deletions
140
distributions/openhab/src/main/resources/userdata/etc/org.ops4j.pax.logging.cfg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,139 +1 @@ | ||
# Common pattern layout for appenders | ||
#log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n | ||
|
||
# Root logger | ||
log4j2.rootLogger.level = WARN | ||
log4j2.rootLogger.appenderRefs = out, osgi | ||
log4j2.rootLogger.appenderRef.out.ref = LOGFILE | ||
log4j2.rootLogger.appenderRef.osgi.ref = OSGI | ||
|
||
# Karaf Shell logger | ||
log4j2.logger.shell.name = org.apache.karaf.shell.support | ||
log4j2.logger.shell.level = OFF | ||
log4j2.logger.shell.appenderRefs = stdout | ||
log4j2.logger.shell.appenderRef.stdout.ref = STDOUT | ||
|
||
# Security audit logger | ||
log4j2.logger.audit.name = org.apache.karaf.jaas.modules.audit | ||
log4j2.logger.audit.level = INFO | ||
log4j2.logger.audit.additivity = false | ||
log4j2.logger.audit.appenderRefs = audit | ||
log4j2.logger.audit.appenderRef.audit.ref = AUDIT | ||
|
||
# openHAB specific logger configuration | ||
|
||
log4j2.logger.openhab.name = org.openhab | ||
log4j2.logger.openhab.level = INFO | ||
|
||
log4j2.logger.smarthomeItemStateEvent.name = smarthome.event.ItemStateEvent | ||
log4j2.logger.smarthomeItemStateEvent.level = ERROR | ||
log4j2.logger.smarthomeItemAddedEvent.name = smarthome.event.ItemAddedEvent | ||
log4j2.logger.smarthomeItemAddedEvent.level = ERROR | ||
log4j2.logger.smarthomeItemRemovedEvent.name = smarthome.event.ItemRemovedEvent | ||
log4j2.logger.smarthomeItemRemovedEvent.level = ERROR | ||
log4j2.logger.smarthomeThingStatusInfoEvent.name = smarthome.event.ThingStatusInfoEvent | ||
log4j2.logger.smarthomeThingStatusInfoEvent.level = ERROR | ||
log4j2.logger.smarthomeThingAddedEvent.name = smarthome.event.ThingAddedEvent | ||
log4j2.logger.smarthomeThingAddedEvent.level = ERROR | ||
log4j2.logger.smarthomeThingRemovedEvent.name = smarthome.event.ThingRemovedEvent | ||
log4j2.logger.smarthomeThingRemovedEvent.level = ERROR | ||
log4j2.logger.smarthomeInboxUpdatedEvent.name = smarthome.event.InboxUpdatedEvent | ||
log4j2.logger.smarthomeInboxUpdatedEvent.level = ERROR | ||
|
||
log4j2.logger.events.name = smarthome.event | ||
log4j2.logger.events.level = INFO | ||
log4j2.logger.events.additivity = false | ||
log4j2.logger.events.appenderRefs = event | ||
log4j2.logger.events.appenderRef.event.ref = EVENT | ||
log4j2.logger.events.appenderRef.osgi.ref = OSGI | ||
|
||
log4j2.logger.jupnp.name = org.jupnp | ||
log4j2.logger.jupnp.level = ERROR | ||
|
||
log4j2.logger.jmdns.name = javax.jmdns | ||
log4j2.logger.jmdns.level = ERROR | ||
|
||
# This suppresses all Maven download issues from the log when doing feature installations | ||
# as we are logging errors ourselves in a nicer way anyhow. | ||
log4j2.logger.paxurl.name = org.ops4j.pax.url.mvn.internal.AetherBasedResolver | ||
log4j2.logger.paxurl.level = ERROR | ||
|
||
# Filters known issues of pax-web (issue link to be added here). | ||
# Can be removed once the issues are resolved in an upcoming version. | ||
log4j2.logger.paxweb.name = org.ops4j.pax.web.pax-web-runtime | ||
log4j2.logger.paxweb.level = OFF | ||
|
||
# Filters known issues of lsp4j, see | ||
# https://github.com/eclipse/smarthome/issues/4639 | ||
# https://github.com/eclipse/smarthome/issues/4629 | ||
# https://github.com/eclipse/smarthome/issues/4643 | ||
# Can be removed once the issues are resolved in an upcoming version. | ||
log4j2.logger.lsp4j.name = org.eclipse.lsp4j | ||
log4j2.logger.lsp4j.level = OFF | ||
|
||
# Filters known issues of KarServiceImpl, see | ||
# https://github.com/openhab/openhab-distro/issues/519#issuecomment-351944506 | ||
# Can be removed once the issues are resolved in an upcoming version. | ||
log4j2.logger.karservice.name = org.apache.karaf.kar.internal.KarServiceImpl | ||
log4j2.logger.karservice.level = ERROR | ||
|
||
# Filters warnings about unavailable ciphers when JCE is not installed, see | ||
# https://github.com/openhab/openhab-distro/issues/999 | ||
log4j2.logger.sshutils.name = org.apache.karaf.shell.ssh.SshUtils | ||
log4j2.logger.sshutils.level = ERROR | ||
|
||
# Filters known issues of javax.mail, see | ||
# https://github.com/openhab/openhab-addons/issues/5530 | ||
log4j2.logger.javaxmail.name = javax.mail | ||
log4j2.logger.javaxmail.level = ERROR | ||
|
||
# Appenders configuration | ||
|
||
# Console appender not used by default (see log4j2.rootLogger.appenderRefs) | ||
log4j2.appender.console.type = Console | ||
log4j2.appender.console.name = STDOUT | ||
log4j2.appender.console.layout.type = PatternLayout | ||
log4j2.appender.console.layout.pattern = %d{HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n | ||
|
||
# Rolling file appender | ||
log4j2.appender.out.type = RollingRandomAccessFile | ||
log4j2.appender.out.name = LOGFILE | ||
log4j2.appender.out.fileName = ${openhab.logdir}/openhab.log | ||
log4j2.appender.out.filePattern = ${openhab.logdir}/openhab.log.%i | ||
log4j2.appender.out.immediateFlush = true | ||
log4j2.appender.out.append = true | ||
log4j2.appender.out.layout.type = PatternLayout | ||
log4j2.appender.out.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n | ||
log4j2.appender.out.policies.type = Policies | ||
log4j2.appender.out.policies.size.type = SizeBasedTriggeringPolicy | ||
log4j2.appender.out.policies.size.size = 16MB | ||
|
||
# Event log appender | ||
log4j2.appender.event.type = RollingRandomAccessFile | ||
log4j2.appender.event.name = EVENT | ||
log4j2.appender.event.fileName = ${openhab.logdir}/events.log | ||
log4j2.appender.event.filePattern = ${openhab.logdir}/events.log.%i | ||
log4j2.appender.event.immediateFlush = true | ||
log4j2.appender.event.append = true | ||
log4j2.appender.event.layout.type = PatternLayout | ||
log4j2.appender.event.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-26.26c] - %m%n | ||
log4j2.appender.event.policies.type = Policies | ||
log4j2.appender.event.policies.size.type = SizeBasedTriggeringPolicy | ||
log4j2.appender.event.policies.size.size = 16MB | ||
|
||
# Audit file appender | ||
log4j2.appender.audit.type = RollingRandomAccessFile | ||
log4j2.appender.audit.name = AUDIT | ||
log4j2.appender.audit.fileName = ${openhab.logdir}/audit.log | ||
log4j2.appender.audit.filePattern = ${openhab.logdir}/audit.log.%i | ||
log4j2.appender.audit.append = true | ||
log4j2.appender.audit.layout.type = PatternLayout | ||
log4j2.appender.audit.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n | ||
log4j2.appender.audit.policies.type = Policies | ||
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy | ||
log4j2.appender.audit.policies.size.size = 8MB | ||
|
||
# OSGi appender | ||
log4j2.appender.osgi.type = PaxOsgi | ||
log4j2.appender.osgi.name = OSGI | ||
log4j2.appender.osgi.filter = * | ||
org.ops4j.pax.logging.log4j2.config.file=${karaf.etc}/log4j2.xml |