You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Echo <ah...@gmail.com> on 2011/07/18 18:27:52 UTC

Log into an additional file at Apache Karaf

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://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3179706.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Echo <ah...@gmail.com>.
I still confused  as I have the same configuration .
That's my  "org.ops4j.pax.logging.cfg"

################################################################################
#
#    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.logger.new=INFO,new
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



# new File appender
#log4j.rootLogger=INFO,new
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

# 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


On the Camel DSL :
      process(doSmth).log(LoggingLevel.INFO,"sylk","HelloZ New Logger")

I couldn't get what u meant exactly by *my.package* & *my.package.smth*






On Tue, Jul 19, 2011 at 1:06 PM, iocanel [via Karaf] <
ml-node+3182134-633994411-415759@n3.nabble.com> wrote:

> Echo, here is what I add in the original file and works like a charm for
> me.
>
> log4j.logger.*my.package*=INFO,new
>
> log4j.appender.new = org.apache.log4j.DailyRollingFileAppender
> log4j.appender.new.DatePattern = '_'yyyy-MM-dd'.log'
> log4j.appender.new.layout=org.apache.log4j.PatternLayout
> log4j.appender.new.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} |
> %-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
>
> and my route looks like this:
>
>         <route >
>             <from uri="direct:some-endpoint"/>
>             <log logName="*my.package.something*" message="Yay I go just to
>
> new.log"/>
>         </route>
>
> I hope it helps!
>
>
> --
> *Ioannis Canellos*
> *
>  http://iocanel.blogspot.com
>
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> Apache ServiceMix <http://servicemix.apache.org/>  Committer
> *
> *Ioannis Canellos* http://iocanel.blogspot.com
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182134.html
>  To unsubscribe from Log into an additional file at Apache Karaf, click
> here<http://karaf.922171.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3179706&code=YWhtZWQub3NhbWEuNzc3QGdtYWlsLmNvbXwzMTc5NzA2fC05MzQxMDQ1ODI=>.
>
>



-- 
Sincerely,
Ahmed Ossama


--
View this message in context: http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182160.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Echo <ah...@gmail.com>.
I have made it & it does make my day :)

process(doSmth).log(LoggingLevel.INFO,"new","HelloZ NewLogger
${exception.stacktrace}")

By this way , I have logged the stack trace into "new.log"

Thanks to ur amazing assistance :)

--
View this message in context: http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182793.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Echo <ah...@gmail.com>.
That's the point that um trapped into for a while as um trying to log the
stack trace into the new.log .
My trials so far was unsuccessful... Can u give me a tip  to go through it !

--
View this message in context: http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182244.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Ioannis Canellos <io...@gmail.com>.
No!

in new.log I just log the message I showed you. Alternatively you can log
from a processor that is under the package "my.package.*".


On Tue, Jul 19, 2011 at 2:25 PM, Echo <ah...@gmail.com> wrote:

> @iocanel
>
> Do u log the stack trace as well into the "new.log" as this is what just I
> miss !!
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182173.html
> Sent from the Karaf - Dev mailing list archive at Nabble.com.
>



-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*

Re: Log into an additional file at Apache Karaf

Posted by Echo <ah...@gmail.com>.
@iocanel

Do u log the stack trace as well into the "new.log" as this is what just I
miss !! 

--
View this message in context: http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182173.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Ioannis Canellos <io...@gmail.com>.
Echo, here is what I add in the original file and works like a charm for me.

log4j.logger.*my.package*=INFO,new

log4j.appender.new = org.apache.log4j.DailyRollingFileAppender
log4j.appender.new.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.new.layout=org.apache.log4j.PatternLayout
log4j.appender.new.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} |
%-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

and my route looks like this:

        <route >
            <from uri="direct:some-endpoint"/>
            <log logName="*my.package.something*" message="Yay I go just to
new.log"/>
        </route>

I hope it helps!


-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*

Re: Log into an additional file at Apache Karaf

Posted by Echo <ah...@gmail.com>.
Hello , 

Now it logs everything on BOTH files . 
I just need when I log like the follwong from camel : 

process(doSmth).log(LoggingLevel.INFO,"new","Hello New  Logger") 

JUST in that case to go and log into the new.log

--
View this message in context: http://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3182087.html
Sent from the Karaf - Dev mailing list archive at Nabble.com.

Re: Log into an additional file at Apache Karaf

Posted by Guillaume Nodet <gn...@gmail.com>.
Btw, you should send such emails to users@, not dev@.

Here "new" is the name of the logger, not an appender.
I think what  you need is something like the following.
Not the second property which links the logger to the appender.

# Additional File appender
log4j.rootLogger=INFO, out, osgi:VmLogAppender
log4j.logger.new=INFO, new
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

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

On Mon, Jul 18, 2011 at 18:27, Echo <ah...@gmail.com> wrote:

> 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://karaf.922171.n3.nabble.com/Log-into-an-additional-file-at-Apache-Karaf-tp3179706p3179706.html
> Sent from the Karaf - Dev mailing list archive at Nabble.com.
>



-- 
------------------------
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com