jmeter-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 60589] New: Migrating LogKit to SLF4J - Drop avalon, logkit and excalibur with backward compatibility for 3rd party modules.
Date Sun, 15 Jan 2017 16:34:07 GMT
https://bz.apache.org/bugzilla/show_bug.cgi?id=60589

            Bug ID: 60589
           Summary: Migrating LogKit to SLF4J - Drop avalon, logkit and
                    excalibur with backward compatibility for 3rd party
                    modules.
           Product: JMeter
           Version: unspecified
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Main
          Assignee: issues@jmeter.apache.org
          Reporter: woonsan@apache.org
  Target Milestone: ---

First, I think the goals are as follows:

# Goals

G1. Drop dependencies on logkit, exclalibur and logkit.
G2. Allow logging configuration with other popular logging framework
configuration such as log4j2. log4j2 is the primary one to support.
  (It should be able to support logback, but that's out of scope in this story.
That can be part of other new story later.)
G3. Keep the existing UI functionalities.
G4. Keep the backward compatibility for 3rd party plugin modules.
G5. Ensure all the code use slf4j for logging (exception: usages of logkit
logger interface for backward compatibility). 

Second, let me try to list all the existing logging related features of JMeter

# Current Logging Related Features

CF1. Users are able to configure log file, logging format, log levels for the
combined root logger or for each category in the JMeter configuration
properties file or command line arguments (`-j' for log file and `-L' for log
level).
CF2. Logs by libraries using Commons Logging are passed to the JMeter logging
(logkit) by JMeter's Commons Logging implementation.
CF3. Advanced Excalibur logging configuration is possible through `log_config'
property in JMeter configuration properties.
CF3. Logs Viewer UI Menu can be turned on to receive logging event and show in
the UI panel (org.apache.jmeter.gui.LoggerPanel). Note this is not reading the
log file directly, but receives and renders log events currently propagated by
the underlying logging framework at runtime only.
CF4. For libraries using log4j API directly, log4j system property is set with
`log4j.conf' configuration properties by default, but the logs through log4j is
not used by JMeter, it's simply appended to a separate log file.

Since the goals include removing dependencies on logkit, excalibur and avalon,
and introducing log4j2 logging framework, I'd like to propose the following in
the feature level.

# Proposal in Feature Level

PF1. Users are able to configure log file, logging format, log levels, etc. for
combined root logger and for each logger in a separate log4j2 configuration
file, ./log4j2.xml or bin/log4j2.xml.
PF2. Users are able to change the log4j2 configuration by passing the standard
log4j2 system property (e.g,
`-Dlog4j2.configuration=file:/var/conf/log4j2-pt1.xml').
PF3. Logs Viewer UI Menu keeps the same functionality as it does.
PF4. All the logging related configuration in JMeter configuration properties
will be dropped. Also, the logging related command line arguments (`-j' for log
file and `-L' for log level) will be dropped.
PF5. Advanced Excalibur logging configuration support will be dropped.
PF6. JMeter Commons Logging provision will be dropped. Instead jcl-over-slf4j
jar dependency will be provided for the same feature.
PF7. log4j support through `log4j.configuration' system property and
`log4j.conf' will be dropped. Instead Log4j 2's log4j-1.2-api.jar [1] will be
provided for backward compatibility.

# Candidate solutions
- I'll describe solution ideas in comments.

-----
[1] https://logging.apache.org/log4j/2.x/manual/migration.html

-- 
You are receiving this mail because:
You are the assignee for the bug.
Mime
View raw message