If you are sending to Elastic why not use JSON? See http://logging.apache.org/log4j/2.x/manual/cloud.html <http://logging.apache.org/log4j/2.x/manual/cloud.html>.
Ralph > On Oct 12, 2020, at 11:49 AM, רפי <rafr...@gmail.com> wrote: > > I tried it and it didn't work. It just print the following text - > "%replace${event:Level}" > > I need it since I must put the log level after the "action" field. This is > needed for other system (elastic stack system) of log analysis. > The problem is that the action field is not available for me in log4j2.xml, > but only in some specific file. On the other hand the log level is not > available for me in the same file where the action field is available. > So of course I can change the code. But I prefer to fix it with > configuration and I thought that I can fix it by using log4j2.xml. > > > בתאריך יום ב׳, 12 באוק׳ 2020 ב-21:36 מאת Ralph Goers < > ralph.go...@dslextreme.com>: > >> Possibly something like that. As I said, I haven’t had a chance to >> investigate it so I am not sure if interpolation is supported in that exact >> usage. >> >> I do wonder why you need to do it this way though. >> >> Ralph >> >>> On Oct 12, 2020, at 9:31 AM, רפי <rafr...@gmail.com> wrote: >>> >>> I will try it. >>> Do you mean that I will use the following: >>> >>> %replace{%msg}{LOGLEVEL}$${event:Level} >>> >>> ? >>> >>> >>> בתאריך יום ב׳, 12 באוק׳ 2020 ב-18:35 מאת Ralph Goers < >>> ralph.go...@dslextreme.com>: >>> >>>> I suspect that using $${event:Level} could be made to work but I would >>>> have to try it to see what it would take and right now I have been >>>> extremely busy with the $dayjob$. >>>> >>>> Ralph >>>> >>>>> On Oct 12, 2020, at 2:56 AM, רפי <rafr...@gmail.com> wrote: >>>>> >>>>> In log4j2 configured by log4j2.xml - how can I replace some text with >>>>> other conversion >>>>> pattern? >>>>> >>>>> >>>>> For example, I have some message with the word "LOGLEVEL" and I want to >>>>> replace it with the current log level (WARN/DEBUG/ERROR/TRACE/INFO). >> The >>>>> conversion pattern >>>>> <https://logging.apache.org/log4j/2.x/manual/layouts.html> for the log >>>>> level is %p or %level, so I tried this: >>>>> >>>>> %replace{%msg}{LOGLEVEL}{%level} >>>>> >>>>> But instead of replacing the "LOGLEVEL" text with the actual *level* it >>>>> just replaced it with the text "%level". >>>>> >>>>> *The original message was*: this trace is LOGLEVEL log >>>>> >>>>> *For INFO trace I want to get*: this trace is INFO log >>>>> >>>>> *But I actually got*: this trace is %level log >>>>> >>>>> How can I achieve this requirement? >>>>> >>>>> >>>>> >>>>> I asked it on StackOverflow but no one knows the answer. >>>>> >>>>> >>>> >> https://stackoverflow.com/questions/64305649/log4j2-replace-some-text-with-other-log4j2-conversion-pattern-with-level-for >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> Refael >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> 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 >> >>