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 2020/10/28 08:33:00 UTC
[jira] [Updated] (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 updated LOG4J2-2953:
-----------------------------------
Description:
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.
{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}
was:
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
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.
{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}
> 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.
> {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)