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 <remko.po...@gmail.com> 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 <benjamin.ja...@gmail.com> > 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 <remko.po...@gmail.com> > 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 <benjamin.ja...@gmail.com> > 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 < > benjamin.ja...@gmail.com > >>> > >>> 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 <remko.po...@gmail.com> > >> 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 <benjamin.ja...@gmail.com> > >>>>> 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 <remko.po...@gmail.com > > > >>>>> 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 <benjamin.ja...@gmail.com> > >>>>> wrote: > >>>>>>>> > >>>>>>>> I am applying it on the root logger. > >>>>>>>> > >>>>>>>>> On Tue, Nov 8, 2016 at 12:47 PM, Matt Sicker <boa...@gmail.com> > >>>>> wrote: > >>>>>>>>> > >>>>>>>>> Where are you applying the filter? On the appender or somewhere > >> else? > >>>>>>>>> > >>>>>>>>> On 8 November 2016 at 13:13, Benjamin Jaton < > >>>>> benjamin.ja...@gmail.com> > >>>>>>>>> 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 <boa...@gmail.com> > >>>>>>>>> > >>>>>>> > >>>>>>> ------------------------------------------------------------ > >> --------- > >>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > >>>>>>> For additional commands, e-mail: log4j-user-help@logging. > apache.org > >>>>>>> > >>>>>>> > >>>>> > >>>>> ------------------------------------------------------------ > --------- > >>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > >>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org > >>>>> > >>>>> > >>>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > >> For additional commands, e-mail: log4j-user-h...@logging.apache.org > >> > >> >