Looks like what I’m looking for can be done using collector not appender.

org.apache.karaf.decanter.collector.log.cfg:
fields.remove.renderedMessage=true

Cheers!

On Mon, 24 Jun 2019 at 11:54 am, Noobtube Account <spidyt...@gmail.com>
wrote:

> Thanks JB - I think the EventFilter and the properties along with it are
> used to include/exclude entire events, correct?
>
> In that case, I’m not able to use it to exclude fields of the resulting
> json log but instead exclude entire logs based on the content of the log
> message.
>
> I guess I’ll need to put this functionality in a custom marshaller?
>
>
> Thanks
>
> On Fri, 21 Jun 2019 at 5:49 pm, Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
>
>> Hi,
>>
>> I guess you are talking about filtering of the events to send to the
>> appender right ?
>>
>> I will update the Decanter documentation with some example and how it
>> works.
>>
>> In the mean time, you can take a look on the test illustrating the
>> events filtering:
>>
>>
>> https://github.com/apache/karaf-decanter/blob/master/appender/utils/src/test/java/org/apache/karaf/decanter/appender/utils/EventFilterTest.java
>>
>> Regards
>> JB
>>
>> On 21/06/2019 09:41, Noobtube Account wrote:
>> > Hi JB,
>> >
>> > Could you show me where I could add the filter properties as you
>> > mentioned or if it’s not implemented yet, some guidance on accessing the
>> > appender or Marshaller properties file from inside the default decanter
>> > json appender?
>> >
>> >
>> > Thanks
>> >
>> >
>> >
>> > On Wed, 12 Jun 2019 at 11:53 am, Noobtube Account <spidyt...@gmail.com
>> > <mailto:spidyt...@gmail.com>> wrote:
>> >
>> >     Thanks JB! I've got the following config for appender to try out the
>> >     field exclude:
>> >
>> >     # File
>> >     filename=${karaf.data}/log/karaf-json.log
>> >
>> >     # Marshaller
>> >     marshaller.target=(dataFormat=json)
>> >
>> >     # Append file
>> >     append=true
>> >
>> >     # Fields Excluded by Name
>> >     event.property.name.exclude=MDC
>> >
>> >
>> >     This seems to stop the appender from producing any json log.
>> Removing the event.property.name.exclude=MDC
>> >
>> >     Also I couldn't find these properties documented anywhere nor could
>> I find them in karaf decanter source code. Is the format I used correct?
>> >
>> >
>> >
>> >     On Sun, 9 Jun 2019 at 02:58, Jean-Baptiste Onofré <j...@nanthrax.net
>> >     <mailto:j...@nanthrax.net>> wrote:
>> >
>> >         Yes, you can create your own marshaller is you want to ;)
>> >
>> >         By default, Decanter collectors send a Map to the Decanter
>> >         appenders.
>> >         Then the appenders use eventually marshaller to convert the Map
>> to
>> >         something else. You can control the keys or values in this map
>> >         that you
>> >         want to include/exclude by directly configuring in the appender
>> >         configuration (with
>> >
>>  
>> event.property.name.exclude/event.property.name.include/event.property.value.exclude/event.property.value.include
>> >         properties).
>> >         By default, the JSON Marshaller convert the map as a json using
>> >         jackson.
>> >         If you want a full control, you can also create your own
>> Marshaller
>> >         service. But I think that just the filtering on the appender
>> >         should be
>> >         OK for you.
>> >         Let me know if you need help about that.
>> >
>> >         Regards
>> >         JB
>> >
>> >         On 08/06/2019 18:52, Noobtube Account wrote:
>> >         > Great! Are we also able to control the format or turn fields
>> off?
>> >         >
>> >         >
>> >         > On Sun, 9 Jun 2019 at 2:51 am, Jean-Baptiste Onofré
>> >         <j...@nanthrax.net <mailto:j...@nanthrax.net>
>> >         > <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>>> wrote:
>> >         >
>> >         >     Yes, Decanter Log Collector is a global Pax Logging
>> >         "sniffer". So it
>> >         >     takes messages from any bundle by default.
>> >         >
>> >         >     However, you can configure this directly in
>> >         >     etc/org.ops4j.pax.logging.cfg.
>> >         >
>> >         >     Regards
>> >         >     JB
>> >         >
>> >         >     On 08/06/2019 18:07, Noobtube Account wrote:
>> >         >     > Oh, scratch that. Uncommenting the filename in
>> >         >     > etc/org.apache.karaf.decanter.appender.file.cfg seemed
>> >         to have made it
>> >         >     > work. It probably wasn't due to that though and likely
>> >         something
>> >         >     else I
>> >         >     > did. Anyway, thanks for pointing out karaf decanter.
>> >         >     >
>> >         >     > Will the log collector collect log executions made
>> >         through any
>> >         >     bundle?
>> >         >     >
>> >         >     >
>> >         >     > On Sun, 9 Jun 2019 at 01:55, Noobtube Account
>> >         <spidyt...@gmail.com <mailto:spidyt...@gmail.com>
>> >         >     <mailto:spidyt...@gmail.com <mailto:spidyt...@gmail.com>>
>> >         >     > <mailto:spidyt...@gmail.com <mailto:spidyt...@gmail.com
>> >
>> >         <mailto:spidyt...@gmail.com <mailto:spidyt...@gmail.com>>>>
>> wrote:
>> >         >     >
>> >         >     >     Thanks JB. I'm trying the decanter as you
>> mentioned.
>> >         >     >
>> >         >     >     I've done:
>> >         >     >     feature:repo-add decanter
>> >         >     >     feature:install decanter-collector-log
>> >         >     >     feature:install decanter-appender-file
>> >         >     >
>> >         >     >     Then I edited
>> >         etc/org.apache.karaf.decanter.appender.file.cfg and
>> >         >     >     added:
>> >         >     >     # Marshaller
>> >         >     >     marshaller.target=(dataFormat=json)
>> >         >     >
>> >         >     >     But I don't see any logs created. Do we need to
>> >         install the
>> >         >     marshaller?
>> >         >     >
>> >         >     >     On Sun, 9 Jun 2019 at 00:33, Jean-Baptiste Onofré
>> >         >     <j...@nanthrax.net <mailto:j...@nanthrax.net>
>> >         <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>>
>> >         >     >     <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>
>> >         <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>>>> wrote:
>> >         >     >
>> >         >     >         By the way, instead of doing that, you can use
>> >         regular logging
>> >         >     >         and use
>> >         >     >         Decanter with the log collector and the json
>> >         marshaller to
>> >         >     >         create json
>> >         >     >         output (to log, file, elasticsearch or
>> whatever).
>> >         >     >
>> >         >     >         Regards
>> >         >     >         JB
>> >         >     >
>> >         >     >         On 08/06/2019 16:30, Jean-Baptiste Onofré wrote:
>> >         >     >         > Hi
>> >         >     >         >
>> >         >     >         > You don't have to add logback-core as
>> >         pax-logging-logback
>> >         >     >         bundle already
>> >         >     >         > embed it.
>> >         >     >         >
>> >         >     >         > Secondly it seems jackson is not imported
>> >         correctly. The
>> >         >     root
>> >         >     >         cause is:
>> >         >     >         >
>> >         >     >         > Caused by: java.lang.ClassNotFoundException:
>> >         >     >         >> com.fasterxml.jackson.databind.ObjectMapper
>> >         not found by
>> >         >     >         >> org.ops4j.pax.logging.pax-logging-logback
>> >         >     >         >
>> >         >     >         > You can try a dynamic import on
>> >         pax-logging-logback.
>> >         >     >         >
>> >         >     >         > Else a simple workaround is to create a
>> >         fragment with
>> >         >     >         > pax-logging-logback as host and embedding
>> >         (private-package)
>> >         >     >         the classes
>> >         >     >         > you need.
>> >         >     >         >
>> >         >     >         > I did that for json layout with
>> >         pax-logging-log4j2.
>> >         >     >         >
>> >         >     >         > Regards
>> >         >     >         > JB
>> >         >     >         >
>> >         >     >         > On 08/06/2019 16:17, Noobtube Account wrote:
>> >         >     >         >> I'm trying to get JSON format logging enabled
>> >         in Karaf.
>> >         >     >         Trying to do
>> >         >     >         >> something similar to what's described
>> >         >     >         >> in
>> https://ops4j1.jira.com/browse/PAXLOGGING-168
>> >         >     >         >>
>> >         >     >         >> On a fresh copy of Karaf 4.2.5 I've added to
>> >         >     >         /etc/startup.properties:
>> >         >     >         >>
>> >         >     >         >>
>> >         mvn\:com.fasterxml.jackson.core/jackson-core/2.9.5 = 8
>> >         >     >         >>
>> >         >     mvn\:com.fasterxml.jackson.core/jackson-annotations/2.9.5
>> = 8
>> >         >     >         >>
>> >         mvn\:com.fasterxml.jackson.core/jackson-databind/2.9.5 = 8
>> >         >     >         >> mvn\:ch.qos.logback/logback-classic/1.2.2 = 8
>> >         >     >         >> mvn\:ch.qos.logback/logback-core/1.2.2 = 8
>> >         >     >         >>
>> >         mvn\:ch.qos.logback.contrib/logback-json-core/0.1.5 = 8
>> >         >     >         >>
>> >         mvn\:ch.qos.logback.contrib/logback-json-classic/0.1.5 = 8
>> >         >     >         >>
>> >         mvn\:org.ops4j.pax.logging/pax-logging-logback/1.10.1 = 8
>> >         >     >         >>
>> >         >     >         >> The above jars have been added to the system
>> >         folder. They
>> >         >     >         look like:
>> >         >     >         >> logback: https://pastebin.com/raw/60Pnu8f1
>> >         >     >         >> jackson: https://pastebin.com/raw/NkUqZrGS
>> >         >     >         >>
>> >         >     >         >> My etc/org.ops4j.pax.logging.cfg contains the
>> >         line:
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    org.ops4j.pax.logging.logback.config.file=${karaf.base}/etc/logback.xml
>> >         >     >         >>
>> >         >     >         >> The log back is the same one
>> >         >     >         >>
>> >         from https://ops4j1.jira.com/browse/PAXLOGGING-168
>> >         >     >         >>
>> >         >     >         >> When I startup Karaf I get the following CNF
>> >         error
>> >         >     related to
>> >         >     >         Jackson.
>> >         >     >         >> Shouldn't the startup.properties file make
>> >         those classes
>> >         >     >         available?
>> >         >     >         >>
>> >         >     >         >> WARN in
>> >         >     >
>> >          ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3aaee6 -
>> >         >     >         >> SizeAndTimeBasedFNATP is deprecated. Use
>> >         >     >         SizeAndTimeBasedRollingPolicy
>> >         >     >         >> instead
>> >         >     >         >> WARN in
>> >         >     >
>> >          ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3aaee6
>> >         >     - For
>> >         >     >         >> more information see
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>> http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
>> >         >     >         >> 00:14:49.839 [CM Configuration Updater
>> >         (ManagedService
>> >         >     Update:
>> >         >     >         >> pid=[org.ops4j.pax.logging])] ERROR
>> >         >     >         org.apache.felix.configadmin -
>> >         >     >         >> [org.osgi.service.log.LogService,
>> >         >     >         >> org.knopflerfish.service.log.LogService,
>> >         >     >         >> org.ops4j.pax.logging.PaxLoggingService,
>> >         >     >         >> org.osgi.service.cm
>> >         <http://org.osgi.service.cm> <http://org.osgi.service.cm>
>> >         >     >         <http://org.osgi.service.cm>.ManagedService,
>> id=15,
>> >         >     >         >>
>> >         >
>> >
>>   bundle=13/mvn:org.ops4j.pax.logging/pax-logging-logback/1.10.1]:
>> >         >     >         >> Unexpected problem updating configuration
>> >         >     org.ops4j.pax.logging
>> >         >     >         >> java.lang.NoClassDefFoundError:
>> >         >     >         com/fasterxml/jackson/databind/ObjectMapper
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.contrib.jackson.JacksonJsonFormatter.<init>(JacksonJsonFormatter.java:41)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >
>> >          sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> >         >     >         Method)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >
>> >         >
>> >
>>    java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>> >         >     >         ~[?:?]
>> >         >     >         >> at
>> >         java.lang.Class.newInstance(Class.java:442) ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:121)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >
>> >         >
>> >
>>    ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:81)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl.configureLogback(PaxLoggingServiceImpl.java:325)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:258)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:471)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
>> >         >     >         >> ~[9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1113)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1069)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >
>> >         >
>> >
>>    org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at
>> >         >     >
>> >         >
>> >
>>    org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105)
>> >         >     >         >> [9:org.apache.felix.configadmin:1.9.14]
>> >         >     >         >> at java.lang.Thread.run(Thread.java:748)
>> [?:?]
>> >         >     >         >> Caused by: java.lang.ClassNotFoundException:
>> >         >     >         >> com.fasterxml.jackson.databind.ObjectMapper
>> >         not found by
>> >         >     >         >> org.ops4j.pax.logging.pax-logging-logback
>> [13]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     >         >>
>> >         >     >
>> >         >
>> >
>>    
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>> >         >     >         >> ~[?:?]
>> >         >     >         >> at
>> >         >     java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> ~[?:?]
>> >         >     >         >> ... 26 more
>> >         >     >         >>
>> >         >     >         >>
>> >         >     >         >
>> >         >     >
>> >         >     >         --
>> >         >     >         Jean-Baptiste Onofré
>> >         >     >         jbono...@apache.org <mailto:jbono...@apache.org
>> >
>> >         <mailto:jbono...@apache.org <mailto:jbono...@apache.org>>
>> >         >     <mailto:jbono...@apache.org <mailto:jbono...@apache.org>
>> >         <mailto:jbono...@apache.org <mailto:jbono...@apache.org>>>
>> >         >     >         http://blog.nanthrax.net
>> >         >     >         Talend - http://www.talend.com
>> >         >     >
>> >         >
>> >         >     --
>> >         >     Jean-Baptiste Onofré
>> >         >     jbono...@apache.org <mailto:jbono...@apache.org>
>> >         <mailto:jbono...@apache.org <mailto:jbono...@apache.org>>
>> >         >     http://blog.nanthrax.net
>> >         >     Talend - http://www.talend.com
>> >         >
>> >
>> >         --
>> >         Jean-Baptiste Onofré
>> >         jbono...@apache.org <mailto:jbono...@apache.org>
>> >         http://blog.nanthrax.net
>> >         Talend - http://www.talend.com
>> >
>>
>> --
>> Jean-Baptiste Onofré
>> jbono...@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>

Reply via email to