Fix logging configuration 77/58777/1
authorTimoney, Dan (dt5972) <dt5972@att.com>
Thu, 2 Aug 2018 20:39:44 +0000 (16:39 -0400)
committerTimoney, Dan (dt5972) <dt5972@att.com>
Thu, 2 Aug 2018 20:39:44 +0000 (16:39 -0400)
ODL Oxygen uses log4j2, which has a different configuration format
from log4j.  The org.ops4j.pax.logging.cfg that we were installing
was in log4j format, which is what caused logging to break.

The old format also created a large number of log files for each node
executed.  In this commit, we no longer create separate log files for each
dg / node.  We do, however, add the current directed graph and node id to each line logged in karaf.log

Change-Id: I1377efa7e0c6fa6963e18370d69bafab60ba024d
Issue-ID: CCSDK-427
Signed-off-by: Timoney, Dan (dt5972) <dt5972@att.com>
odlsli/src/main/resources/org.ops4j.pax.logging.cfg

index 359ce5d..ee35ef7 100644 (file)
@@ -1,68 +1,92 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# Common pattern layout for appenders
+log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %X{currentGraph} - %X{nodeId} | %m%n
+
 # Root logger
-log4j.rootLogger=INFO, async, directed-graph-node-id, directed-graph, osgi:*
-log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+log4j2.rootLogger.level = INFO
+# uncomment to use asynchronous loggers, which require mvn:com.lmax/disruptor/3.3.2 library
+#log4j2.rootLogger.type = asyncRoot
+#log4j2.rootLogger.includeLocation = false
+log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
+log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
+log4j2.rootLogger.appenderRef.Console.ref = Console
+log4j2.rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter
+log4j2.rootLogger.appenderRef.Console.filter.threshold.level = ${karaf.log.console:-OFF}
 
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
+# Loggers configuration
 
-# Async appender forwarding to file appender
-log4j.appender.async=org.apache.log4j.AsyncAppender
-log4j.appender.async.appenders=out
+# Spifly logger
+log4j2.logger.spifly.name = org.apache.aries.spifly
+log4j2.logger.spifly.level = WARN
 
-# File appender
-log4j.appender.out=org.apache.log4j.RollingFileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} - %X{currentGraph} - %X{nodeId} | %m%n
-log4j.appender.out.file=${karaf.data}/log/karaf.log
-log4j.appender.out.append=true
-log4j.appender.out.maxFileSize=1MB
-log4j.appender.out.maxBackupIndex=10
+# 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.appenderRef.AuditRollingFile.ref = AuditRollingFile
 
-# Directed Graph Node Id appender
-log4j.appender.directed-graph-node-id=org.apache.log4j.sift.MDCSiftingAppender
-log4j.appender.directed-graph-node-id.key=nodeId
-log4j.appender.directed-graph-node-id.default=directedGraphNode
-log4j.appender.directed-graph-node-id.appender=org.apache.log4j.FileAppender
-log4j.appender.directed-graph-node-id.appender.layout=org.apache.log4j.PatternLayout
-log4j.appender.directed-graph-node-id.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %X{nodeId} | %m%n
-log4j.appender.directed-graph-node-id.appender.file=${karaf.data}/log/$\\{nodeId\\}.log
-log4j.appender.directed-graph-node-id.appender.append=true
-log4j.appender.directed-graph-node-id.maxFileSize=1MB
-log4j.appender.directed-graph-node-id.maxBackupIndex=5
+# Appenders configuration
 
-# Directed Graph Name appender
-log4j.appender.directed-graph=org.apache.log4j.sift.MDCSiftingAppender
-log4j.appender.directed-graph.key=currentGraph
-log4j.appender.directed-graph.default=directedGraph
-log4j.appender.directed-graph.appender=org.apache.log4j.FileAppender
-log4j.appender.directed-graph.appender.layout=org.apache.log4j.PatternLayout
-log4j.appender.directed-graph.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %X{currentGraph} | %X{nodeId} | %m%n
-log4j.appender.directed-graph.appender.file=${karaf.data}/log/$\\{currentGraph\\}.log
-log4j.appender.directed-graph.appender.append=true
-log4j.appender.directed-graph.maxFileSize=1MB
-log4j.appender.directed-graph.maxBackupIndex=5
+# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
+log4j2.appender.console.type = Console
+log4j2.appender.console.name = Console
+log4j2.appender.console.layout.type = PatternLayout
+log4j2.appender.console.layout.pattern = ${log4j2.pattern}
 
-# Sift appender
-log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
-log4j.appender.sift.key=bundle.name
-log4j.appender.sift.default=karaf
-log4j.appender.sift.appender=org.apache.log4j.FileAppender
-log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
-log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
-log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log
-log4j.appender.sift.appender.append=true
+# Rolling file appender
+log4j2.appender.rolling.type = RollingRandomAccessFile
+log4j2.appender.rolling.name = RollingFile
+log4j2.appender.rolling.fileName = ${karaf.data}/log/karaf.log
+log4j2.appender.rolling.filePattern = ${karaf.data}/log/karaf.log.%i
+# uncomment to not force a disk flush
+#log4j2.appender.rolling.immediateFlush = false
+log4j2.appender.rolling.append = true
+log4j2.appender.rolling.layout.type = PatternLayout
+log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
+log4j2.appender.rolling.policies.type = Policies
+log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.rolling.policies.size.size = 16MB
 
-# syslog appender for exporting karaf messages to a syslog server
-# To enable the syslog appender, add it to the log4j.rootLogger list above.
-#
-# Make sure to set log4j.appender.syslog.syslogHost in the format:
-# <syslogHost>:<syslogPort>
-# If no port is specified, the default, 514, is assumed.
-log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
-log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
-log4j.appender.syslog.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %X{currentGraph} | %X{nodeId} | %m%n
-log4j.appender.syslog.syslogHost=127.0.0.1
-log4J.appender.syslog.facility=KARAF
-log4j.appender.syslog.facilityPrinting=false
+# Audit file appender
+log4j2.appender.audit.type = RollingRandomAccessFile
+log4j2.appender.audit.name = AuditRollingFile
+log4j2.appender.audit.fileName = ${karaf.data}/security/audit.log
+log4j2.appender.audit.filePattern = ${karaf.data}/security/audit.log.%i
+log4j2.appender.audit.append = true
+log4j2.appender.audit.layout.type = PatternLayout
+log4j2.appender.audit.layout.pattern = ${log4j2.pattern}
+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 = PaxOsgi
+log4j2.appender.osgi.filter = *
+
+
+# help with identification of maven-related problems with pax-url-aether
+#log4j2.logger.aether.name = shaded.org.eclipse.aether
+#log4j2.logger.aether.level = TRACE
+#log4j2.logger.http-headers.name = shaded.org.apache.http.headers
+#log4j2.logger.http-headers.level = DEBUG
+#log4j2.logger.maven.name = org.ops4j.pax.url.mvn
+#log4j2.logger.maven.level = TRACE