Use AsyncAppender in pax-logging 22/23722/2
authorRobert Varga <rovarga@cisco.com>
Fri, 26 Jun 2015 10:37:15 +0000 (12:37 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 7 Jul 2015 13:09:58 +0000 (13:09 +0000)
Using an async appender throughput of the logger, lowering its impact on
overall system performance. Testing with BGP debugging enabled, the
overall time to complete for 100K routes went down from 137 seconds to
81 seconds.

Change-Id: Ieac46ecbddb701f862f7d58833ebdc94de0fbaf4
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit 1a41b7575f0daa0db6710bf84520c255ed325e1a)

karaf/opendaylight-karaf-resources/src/main/resources/etc/org.ops4j.pax.logging.cfg [new file with mode: 0644]

diff --git a/karaf/opendaylight-karaf-resources/src/main/resources/etc/org.ops4j.pax.logging.cfg b/karaf/opendaylight-karaf-resources/src/main/resources/etc/org.ops4j.pax.logging.cfg
new file mode 100644 (file)
index 0000000..1f7de32
--- /dev/null
@@ -0,0 +1,51 @@
+################################################################################
+#
+#    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.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, async, osgi:*
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+# 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
+
+# Async appender forwarding to file appender
+log4j.appender.async=org.apache.log4j.AsyncAppender
+log4j.appender.async.appenders=out
+
+# 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} | %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
+
+# 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
+