Re: Log4j2 script to generate hash

2016-11-10 Thread Matt Sicker
Please do open an issue. Otherwise, this will probably get lost in the mailing lists. On 10 November 2016 at 18:33, Benjamin Jaton wrote: > I have a weird problem where using a global script seems to cause log4j to > not be able to resolve my properties any more: > >

Re: Log4j2 script to generate hash

2016-11-10 Thread Benjamin Jaton
I have a weird problem where using a global script seems to cause log4j to not be able to resolve my properties any more: Log4j2 2.7 The code: System.setProperty("log4j.configurationFile", "/usr/local/apps/test.json"); LogManager.getLogger(Test.class).error("test"); The conf: {

Re: Log4j2 script to generate hash

2016-11-10 Thread Benjamin Jaton
Ah, indeed, I have access to a variable named "logger", excellent. Here is the script I am trying to use: --- import java.security.MessageDigest import org.apache.logging.log4j.ThreadContext def genmd5(String s) { MessageDigest.getInstance("MD5").digest(s.bytes).encodeHex().toString() }

Re: Log4j2 script to generate hash

2016-11-10 Thread Remko Popma
Can you show your script? Looking at the code, the documentation is wrong and the Logger object is bound to variable "logger" instead. Which variables are available depends on which filter method is called. This depends on where the filter is configured. The LogEvent is not available for

Re: Log4j2 script to generate hash

2016-11-10 Thread Benjamin Jaton
Sure, here it is: { "configuration" : { "status" : "warn", "scripts": { "ScriptFile": { "name":"test.filter", "path": "/usr/local/apps/test.groovy" } }, "ScriptFilter": { "onMatch": "ACCEPT", "onMisMatch": "DENY", "ScriptRef": { "ref": "test.filter" }

Re: Log4j2 script to generate hash

2016-11-10 Thread Remko Popma
Can you show your configuration? Sent from my iPhone > On 11 Nov 2016, at 1:56, Benjamin Jaton wrote: > > I tried all the variables in the doc, no luck: > > Caused by: groovy.lang.MissingPropertyException: No such property: > loggerName for class: Script2 >at >

Re: Log4j2 script to generate hash

2016-11-10 Thread Benjamin Jaton
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

Re: Log4j2 script to generate hash

2016-11-09 Thread Remko Popma
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 wrote: > > Hmm, I'm not sure, I tried

Re: Log4j2 script to generate hash

2016-11-09 Thread Benjamin Jaton
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

Re: Log4j2 script to generate hash

2016-11-08 Thread Remko Popma
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 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

Re: Log4j2 script to generate hash

2016-11-08 Thread Benjamin Jaton
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

Re: Log4j2 script to generate hash

2016-11-08 Thread Benjamin Jaton
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 wrote: > Yes Filters can be applied at different stages of the logging pipeline. > The Filter interface has separate methods for these stages. Different >

Re: Log4j2 script to generate hash

2016-11-08 Thread Remko Popma
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 wrote: > > Ah,

Re: Log4j2 script to generate hash

2016-11-08 Thread Benjamin Jaton
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

Re: Log4j2 script to generate hash

2016-11-08 Thread Remko Popma
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 wrote: > > I am applying it on the root logger. > >> On Tue, Nov 8, 2016 at 12:47 PM, Matt

Re: Log4j2 script to generate hash

2016-11-08 Thread Benjamin Jaton
I am applying it on the root logger. On Tue, Nov 8, 2016 at 12:47 PM, Matt Sicker wrote: > Where are you applying the filter? On the appender or somewhere else? > > On 8 November 2016 at 13:13, Benjamin Jaton > wrote: > > > hello, > > > > I was

Re: Log4j2 script to generate hash

2016-11-08 Thread Matt Sicker
Where are you applying the filter? On the appender or somewhere else? On 8 November 2016 at 13:13, Benjamin Jaton 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