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.

Reply via email to