You can call the getSource() method of the LogEvent and it will return the 
StackTraceElement of the caller.

Ralph

> On Nov 27, 2017, at 7:22 PM, 代超 <daichao...@163.com> wrote:
> 
> Hi all,
>  Nowadays I am upgrading the log component. I used to use the log4j and 
> customize our own appender by extending the org.apache.log4j.AppenderSkeleton 
> in order to sending log message to the Loghub server. Considering the higher 
> performance, we decided to upgrade the log component to log4j2. In oder to 
> customize our own log4j2 appender, we extend the class 
> org.apache.logging.log4j.core.appender.AbstractAppender, but I found there is 
> no way to occupy the location information without specifying a  
> location-related patterns( %C or $class 
> <https://logging.apache.org/log4j/log4j-2.2/manual/layouts.html#PatternClass>,
>  %F or %file 
> <https://logging.apache.org/log4j/log4j-2.2/manual/layouts.html#PatternFile>, 
> %l or %location 
> <https://logging.apache.org/log4j/log4j-2.2/manual/layouts.html#PatternLocation>,
>  %L or %line 
> <https://logging.apache.org/log4j/log4j-2.2/manual/layouts.html#PatternLine>, 
> %M or %method 
> <https://logging.apache.org/log4j/log4j-2.2/manual/layouts.html#PatternMethod>).
>  When I use log4j, it was easy to get location information by  calling 
> 'org.apache.log4j.spi.LoggingEvent#getLocationInformation'. So I want to ask 
> that is there a way to get location information from log4j2's 
> org.apache.logging.log4j.core.LogEvent?
> 
> Best wishes!
> 
> 
>  

Reply via email to