So konfigurieren Sie slf4j-simple

api 1.7 und slf4j-simple als Implementierung. Ich kann nur nicht finden, wie die Protokollierung Ebene mit dieser Kombination zu konfigurieren.

Kann jemand aus helfen?

Lösung

Entweder durch die Systemeigenschaft

-Dorg.slf4j.simpleLogger.defaultLogLevel=debug

oder die Datei simplelogger.properties auf dem Klassenpfad

siehe http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html für Details

Kommentare (4)

Dies ist ein Beispiel für die Datei simplelogger.properties, die Sie auf dem Klassenpfad ablegen können (entkommentieren Sie die Eigenschaften, die Sie verwenden möchten):

# SLF4J's SimpleLogger configuration file
# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err.

# Default logging detail level for all instances of SimpleLogger.
# Must be one of ("trace", "debug", "info", "warn", or "error").
# If not specified, defaults to "info".
#org.slf4j.simpleLogger.defaultLogLevel=info

# Logging detail level for a SimpleLogger instance named "xxxxx".
# Must be one of ("trace", "debug", "info", "warn", or "error").
# If not specified, the default logging detail level is used.
#org.slf4j.simpleLogger.log.xxxxx=

# Set to true if you want the current date and time to be included in output messages.
# Default is false, and will output the number of milliseconds elapsed since startup.
#org.slf4j.simpleLogger.showDateTime=false

# The date and time format to be used in the output messages.
# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat.
# If the format is not specified or is invalid, the default format is used.
# The default format is yyyy-MM-dd HH:mm:ss:SSS Z.
#org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z

# Set to true if you want to output the current thread name.
# Defaults to true.
#org.slf4j.simpleLogger.showThreadName=true

# Set to true if you want the Logger instance name to be included in output messages.
# Defaults to true.
#org.slf4j.simpleLogger.showLogName=true

# Set to true if you want the last component of the name to be included in output messages.
# Defaults to false.
#org.slf4j.simpleLogger.showShortLogName=false
Kommentare (2)

Sie können sie programmatisch ändern, indem Sie die Systemeigenschaft setzen:

public class App {

    public static void main(String[] args) {

        System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");

        final org.slf4j.Logger log = LoggerFactory.getLogger(App.class);

        log.trace("trace");
        log.debug("debug");
        log.info("info");
        log.warn("warning");
        log.error("error");

    }
}

Die Protokollstufen sind ERROR > WARN > INFO > DEBUG > TRACE.

Bitte beachten Sie, dass die Protokollierungsebene nicht mehr geändert werden kann, sobald der Logger erstellt wurde. Wenn Sie die Protokollierungsebene dynamisch ändern müssen, sollten Sie log4j mit SLF4J verwenden.

Kommentare (6)