You need specific category settings. Karaf uses log4j as logging framework wrapped by pax-logging service. To store log messages from any category follow these steeps:
1. Create new appender (eg. file) log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %C | %-32.32C %4L | %m%n log4j.appender.file.file=${karaf.data}/log/my-file.log log4j.appender.file.append=true log4j.appender.file.maxFileSize=1MB log4j.appender.file.maxBackupIndex=10 2. Configure your category log4j.category.some-category.name-with.dots = DEBUG, file where file is appender name. Regards, Lukasz > I have a system that uses both Apache Camel and Karaf. > > I need some specific processor to log into a new log instead of the default > one ,karaf.log. > > I have reached that there is a file called "org.ops4j.pax.logging.cfg" that > is responsible for logging configuration . > > Here it's the file before I mess with it : > > > ################################################################################ > > # > # 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, out, osgi:VmLogAppender > 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{ABSOLUTE} | %-5.5p | > %-16.16t | %-32.32c{1} | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - > %X{bundle.version} | %m%n > > # File appender > log4j.appender.out=org.apache.log4j.RollingFileAppender > log4j.appender.out.layout=org.apache.log4j.PatternLayout > log4j.appender.out.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t > | %-32.32c{1} | %-32.32C %4L | %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{ABSOLUTE} | %-5.5p > | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n > log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log > log4j.appender.sift.appender.append=true > > > > > Now I have added an extra File appender : > > # Additional File appender > log4j.rootLogger=INFO,new, osgi:VmLogAppender > log4j.appender.new=org.apache.log4j.RollingFileAppender > log4j.appender.new.layout=org.apache.log4j.PatternLayout > log4j.appender.new.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t > | %-32.32c{1} | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - > %X{bundle.version} | %m%n > log4j.appender.new.file=${karaf.data}/log/new.log > log4j.appender.new.append=true > log4j.appender.new.maxFileSize=1MB > log4j.appender.new.maxBackupIndex=10 > > > And from Camel , I logged from DSL : > > process(exceptionProcessor). > process(doSmth).log(LoggingLevel.INFO,"new","That is a new file to log > into") > The result now that it logs erverything on the "new.log" file . Regarding > the karaf.log , I got this : > > Jul 18, 2011 6:00:03 PM org.apache.karaf.main.SimpleFileLock lock > INFO: locking > The question is : how could I log into"new.log" just in case a specific > processor . Others will be logged into the karaf.log !! > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-using-DSL-tp4600390p4600390.html > Sent from the Camel Development mailing list archive at Nabble.com.