Can you show your configuration? Sent from my iPhone
> On 11 Nov 2016, at 1:56, Benjamin Jaton <[email protected]> wrote: > > I tried all the variables in the doc, no luck: > > Caused by: groovy.lang.MissingPropertyException: No such property: > loggerName for class: Script2 > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) > at > org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) > at Script2.run(Script2.groovy:8) > at > org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:343) > ... 12 more > >> On Wed, Nov 9, 2016 at 10:54 PM, Remko Popma <[email protected]> wrote: >> >> According to this https://logging.apache.org/ >> log4j/2.x/manual/filters.html#Script you should be able to use the >> variable named loggerName in global script filters. >> >> Sent from my iPhone >> >>> On 10 Nov 2016, at 4:31, Benjamin Jaton <[email protected]> >> wrote: >>> >>> Hmm, I'm not sure, I tried to do this in groovy: >>> >>> println(args[0]) >>> >>> But I get: >>> Caused by: groovy.lang.MissingPropertyException: No such property: args >> for >>> class: Script2 >>> at >>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap( >> ScriptBytecodeAdapter.java:53) >>> at >>> org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty( >> PogoGetPropertySite.java:52) >>> at >>> org.codehaus.groovy.runtime.callsite.AbstractCallSite. >> callGroovyObjectGetProperty(AbstractCallSite.java:307) >>> at Script2.run(Script2.groovy:8) >>> at >>> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval( >> GroovyScriptEngineImpl.java:343) >>> ... 12 more >>> >>> Then I tried: >>> >>> println(parameters) >>> >>> But it returns 'null' >>> >>>> On Tue, Nov 8, 2016 at 5:18 PM, Remko Popma <[email protected]> >> wrote: >>>> >>>> All filter methods have a Logger object as the first parameter. Can you >>>> use that? >>>> >>>> Sent from my iPhone >>>> >>>>> On 9 Nov 2016, at 9:45, Benjamin Jaton <[email protected]> >> wrote: >>>>> >>>>> As far as I know, there is no way for a global filter to know which >>>> logger >>>>> we're working it for. >>>>> Which in my case is not the best since I would compute a hash for all >> the >>>>> messages of all my loggers, instead of just the one I need them for. >>>>> >>>>> On Tue, Nov 8, 2016 at 4:30 PM, Benjamin Jaton < >> [email protected] >>>>> >>>>> wrote: >>>>> >>>>>> Ah, I can't use 'logEvent' but I can use 'message', perfect, thank >> you! >>>>>> >>>>>>> On Tue, Nov 8, 2016 at 4:21 PM, Remko Popma <[email protected]> >>>> wrote: >>>>>>> >>>>>>> Yes Filters can be applied at different stages of the logging >> pipeline. >>>>>>> The Filter interface has separate methods for these stages. Different >>>>>>> parameters are passed to these methods. >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>>> On 9 Nov 2016, at 8:57, Benjamin Jaton <[email protected]> >>>>>>> wrote: >>>>>>>> >>>>>>>> Ah, interesting. I seem to be able to make modification using this >>>>>>> global >>>>>>>> filter. >>>>>>>> >>>>>>>> However I don't seem to have access to the log event that way? >>>>>>>> >>>>>>>> Caused by: groovy.lang.MissingPropertyException: No such property: >>>>>>> logEvent >>>>>>>> for class: Script2 >>>>>>>> at >>>>>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(Scr >>>>>>> iptBytecodeAdapter.java:53) >>>>>>>> at >>>>>>>> org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.get >>>>>>> Property(PogoGetPropertySite.java:52) >>>>>>>> at >>>>>>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGr >>>>>>> oovyObjectGetProperty(AbstractCallSite.java:307) >>>>>>>> at Script2.run(Script2.groovy:8) >>>>>>>> at >>>>>>>> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(Groov >>>>>>> yScriptEngineImpl.java:343) >>>>>>>> ... 12 more >>>>>>>> >>>>>>>>> On Tue, Nov 8, 2016 at 3:47 PM, Remko Popma <[email protected] >>> >>>>>>> wrote: >>>>>>>>> >>>>>>>>> If you make it a global filter it will get applied before the >>>> LogEvent >>>>>>> is >>>>>>>>> constructed. Please try that. >>>>>>>>> >>>>>>>>> Remko >>>>>>>>> >>>>>>>>> Sent from my iPhone >>>>>>>>> >>>>>>>>>> On 9 Nov 2016, at 7:02, Benjamin Jaton <[email protected]> >>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> I am applying it on the root logger. >>>>>>>>>> >>>>>>>>>>> On Tue, Nov 8, 2016 at 12:47 PM, Matt Sicker <[email protected]> >>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Where are you applying the filter? On the appender or somewhere >>>> else? >>>>>>>>>>> >>>>>>>>>>> On 8 November 2016 at 13:13, Benjamin Jaton < >>>>>>> [email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> hello, >>>>>>>>>>>> >>>>>>>>>>>> I was playing with log4j2 filters to generate a hash in groovy >>>> that >>>>>>> I >>>>>>>>>>> would >>>>>>>>>>>> put in the threadcontext map, and then use in my log pattern: >>>>>>>>>>>> >>>>>>>>>>>> %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1.}:%L - %m [%X{myhash}] >>>>>>>>>>>> >>>>>>>>>>>> But the hash is printed on the NEXT log message. >>>>>>>>>>>> My understanding is that at this point the log message is >> already >>>>>>>>>>> formatted >>>>>>>>>>>> and final. >>>>>>>>>>>> >>>>>>>>>>>> Is there another way I can use a custom script where the log >> event >>>>>>> can >>>>>>>>>>>> actually be modified? >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Ben >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Matt Sicker <[email protected]> >>>>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------ >>>> --------- >>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >> apache.org >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------ >> --------- >>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
