logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Jaton <benjamin.ja...@gmail.com>
Subject Re: Log4j2 script to generate hash
Date Thu, 10 Nov 2016 16:56:36 GMT
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.popma@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.jaton@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.popma@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.jaton@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.jaton@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.popma@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.jaton@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.popma@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.jaton@gmail.com>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>> I am applying it on the root logger.
> >>>>>>>>
> >>>>>>>>> On Tue, Nov 8, 2016 at 12:47 PM, Matt Sicker <boards@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.jaton@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 <boards@gmail.com>
> >>>>>>>>>
> >>>>>>>
> >>>>>>> ------------------------------------------------------------
> >> ---------
> >>>>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >>>>>>> For additional commands, e-mail: log4j-user-help@logging.
> apache.org
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>> ------------------------------------------------------------
> ---------
> >>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>>>>
> >>>>>
> >>>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message