Yes, you can filter at collecting time or appending time. Up to you.
Regards JB On 24/06/2019 04:04, Noobtube Account wrote: > 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 > <mailto: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 <mailto: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> > > <mailto: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> > > <mailto: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>> > > > <mailto: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>>> > > > > <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 > <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>>> > > > > <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 <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> > > > > > <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>>> > > > <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 > <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>> > > <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