You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Deepak Narayan (Jira)" <ji...@apache.org> on 2021/03/01 05:00:09 UTC

[jira] [Closed] (LOG4J2-2953) Method name does not print correctly

     [ https://issues.apache.org/jira/browse/LOG4J2-2953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Deepak Narayan closed LOG4J2-2953.
----------------------------------
    Resolution: Not A Bug

What you say makes sense. YFAdvancedLogger does indeed pass MIRunDashboardAction to Logger.getLogger(). I will close this issue now. Thanks for your help, Ralph!

> Method name does not print correctly
> ------------------------------------
>
>                 Key: LOG4J2-2953
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2953
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.13.3
>         Environment: Windows 10, Java 1.8.0_251
>            Reporter: Deepak Narayan
>            Priority: Minor
>
> My log4j configuration has the following layout:
>  
> {code:java}
> <Property name="appenderPatternLayout">YF:%d{yyyy-MM-dd HH:mm:ss.SSS}:%5p (%c{1}:%M) - %m%n</Property>
> {code}
>  
>  
> A log message was created by the method {color:#de350b}MIRunDashboardAction<T>.execute{color}. The FQCN of the class was {color:#de350b}com.hof.mi.web.action.MIRunDashboardAction{color}. The stack trace:
>  
> {noformat}
> StackLocator.calcLocation(String) line: 186
> StackLocatorUtil.calcLocation(String) line: 78
> LoggerConfig.log(String, String, Marker, Level, Message, Throwable) line: 409 
> AwaitCompletionReliabilityStrategy.log(Supplier<LoggerConfig>, String, String, Marker, Level, Message, Throwable) line: 63
> Logger.logMessage(String, Level, Marker, Message, Throwable) line: 153 
> Logger(Category).forcedLog(String, Priority, Object, Throwable) line: 388 
> Logger(Category).log(String, Priority, Object, Throwable) line: 499 
> YFAdvancedLogger.log(YFLogger$YFLogLevel, Object, Throwable, boolean) line: 39 
> YFAdvancedLogger(YFLogger).log(YFLogger$YFLogLevel, Object, Throwable) line: 145 
> YFAdvancedLogger(YFLogger).info(Object, Throwable) line: 113 
> YFAdvancedLogger(YFLogger).info(Object) line: 109 
> // Logger called from here
> MIRunDashboardAction<T>.execute(YFActionMapper<T>, HttpServletRequest, HttpServletResponse) line: 73 
> MIFormBindingController(FormBindingSpringController<T>).handleDefault(T, BindingResult, RedirectAttributes, HttpServletRequest, HttpServletResponse) line: 109 
> MIFormBindingController.handle(MIForm, BindingResult, RedirectAttributes, HttpServletRequest, HttpServletResponse) line: 57 {noformat}
>  
> However, the method printed in the log was one level lower than the actual one (see stack above).
> {noformat}
> YF:2020-10-28 19:26:54.231: INFO (MIRunDashboardAction:handleDefault) - [42] [4E353F83] [/RunDashboard.i4] MIRunDashboardAction entered{noformat}
>  
>  
> I think the bug is in line 187 of StackLocator.calcLocation().
>  
> {code:java}
> if (found && !fqcnOfLogger.equals(className)) {
>     return stackTrace[i]; // Should this have been i-1 ?
> }
> {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)