From: Timoney, Dan (dt5972) Date: Thu, 2 Aug 2018 20:39:44 +0000 (-0400) Subject: Fix logging configuration X-Git-Tag: 0.3.0~14 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=ccsdk%2Fdistribution.git;a=commitdiff_plain;h=a1a2c807973f036968ec6151a892933a885ccfa7 Fix logging configuration 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) --- diff --git a/odlsli/src/main/resources/org.ops4j.pax.logging.cfg b/odlsli/src/main/resources/org.ops4j.pax.logging.cfg index 359ce5dd..ee35ef70 100644 --- a/odlsli/src/main/resources/org.ops4j.pax.logging.cfg +++ b/odlsli/src/main/resources/org.ops4j.pax.logging.cfg @@ -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: -# : -# 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