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 Wed, 09 Nov 2016 19:31:49 GMT
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