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

Alex Rudyy updated QPID-8017:
-----------------------------
    Attachment: 0001-QPID-8017-Broker-J-Propagate-logger-rule-log-levels-.patch

I attached a patch with changes allowing to propagate logger rules into JUL. I 
think the patch should work as it is. Though, we have another small issue in 
{{org.apache.qpid.server.store.berkeleydb.logging.Slf4jLoggingHandler}}. I did 
not realize that we  are substituting the log levels of the log records coming 
from JE:
{code}
static
    {
        Map<Level, MappedLevel> map = new HashMap<>();
        map.put(Level.SEVERE, ERROR);
        map.put(Level.WARNING, WARN);
        //Note that INFO comes out at DEBUG level as the BDB logging at INFO 
seems to be more of a DEBUG nature
        map.put(Level.INFO, DEBUG);
        map.put(Level.CONFIG, DEBUG);
        map.put(Level.FINE, TRACE);
        map.put(Level.FINER, TRACE);
        map.put(Level.FINEST, TRACE);
        map.put(Level.ALL, TRACE);

        LEVEL_MAP = Collections.unmodifiableMap(map);
    }
{code}
As result, adding a rule {{com.sleepycat.je.*}} enabling {{INFO}} log level 
does not bring the desired effect, as {{Slf4jLoggingHandler}} would be logging 
je {{INFO}} logs with {{DEBUG}} log level but that is not enabled:) More over, 
enabling log level {{ALL}} for {{com.sleepycat.je.*}} would make all JE logs to 
be logged with {{TRACE}} log level regardless of the original log level set by 
JE. It seems more work is required in  {{Slf4jLoggingHandler}}. I would remove 
log level mapping and instead add the logger rule for {{com.sleepycat.je.*}} 
enabling {{WARN}} log level by default. I am pausing this work until we agree 
on the changes  required to be made in  {{Slf4jLoggingHandler}} and whether 
they should be made as part of {{7.0.1}}.

> [Broker-J] [BDB]  JE log events written at JUL level FINE and below not 
> included in the log produced by a BrokerLogger
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8017
>                 URL: https://issues.apache.org/jira/browse/QPID-8017
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-6.1, qpid-java-broker-7.0.0
>            Reporter: Keith Wall
>            Priority: Minor
>             Fix For: qpid-java-broker-7.0.1
>
>         Attachments: 
> 0001-QPID-8017-Broker-J-Propagate-logger-rule-log-levels-.patch
>
>
> Reproduction:
> * Add {{NameAndLevel}} logger inclusion rule BrokerLogger {{file}} for source 
> {{com.sleepycat.je.*}} with Level.ALL
> * Add a BDB HA VHN/VHN
> * Expected behaviour:  verbose logging from JE.  Actual behaviour:  moderate 
> logging only
> For instance, JE writes the following message at {{FINE}} which should be 
> logged by the handler as {{TRACE}}  but it is absent.
> {noformat}
> 2017-11-07 10:42:15,467 TRACE [Cleaner-1] (c.s.j.c.UtilizationCalculator) - 
> [default] Clean file none: predicted min util is below minUtilization, 
> current util min: 20 max: 20, predicted util min: 20 max: 20
> {noformat}
> There is a workaround for the functional problem, albeit a restart is 
> required and the ability to change the process's system properties.  Use the 
> normal JUL system property {{java.util.logging.config.file}}.  Set this to 
> the location of a logging.properties file with the {{com.sleepycat.je}} 
> logger set to the desired level.  Once the JVM is restarted, the Broker's log 
> files will include the logging.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to