You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Fryderyk Wysocki (JIRA)" <ji...@apache.org> on 2018/03/02 11:39:00 UTC

[jira] [Created] (SLING-7529) Log message layouts are not property inherited

Fryderyk Wysocki created SLING-7529:
---------------------------------------

             Summary: Log message layouts are not property inherited
                 Key: SLING-7529
                 URL: https://issues.apache.org/jira/browse/SLING-7529
             Project: Sling
          Issue Type: Bug
          Components: Commons
    Affects Versions: Commons Log 5.1.2
            Reporter: Fryderyk Wysocki


Steps to reproduce on AEM 6.3 with Apache Sling Commons Log 5.1.2:
1. Create Logger Configuration for Logger "my.project", log file "error.log", log level 'Information" and message pattern "My project: \{5}"
2. Create an Slf4J logger for class my.project.Sample and use it to infolog message "test foo"
3. Change the configuration created in step 1 - update logger to "my.project.Sample"
4. Use the logger created in step 2 to infolog message "test bar"

Expected result:
5. error.log file would contain messages "My project: test foo" and "My project: test bar"

Actual result:
5. error.log file contains the message "test foo" in the format configured as the default format, but also contains the message "My project: test bar" - the second message, in the appropriate format.

Investigation:
Checking the source code, I've discovered the following in class 'LoggerSpecificEncoder', starting from line 47:
{code:java}
    private Layout<ILoggingEvent> getLayout(String loggerName) {
        // TODO Handle layout inheritance wrt logger names
        Layout<ILoggingEvent> layout = layoutByCategory.get(loggerName);
        if (layout == null) {
            layout = defaultLayout;
        }
        return layout;
    }
{code}
Which means that, unless the configuration is created for the exact logger name, the default one will be used - the functionality is not broken, but simply not implemented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)