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: [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] >> >>
