[JAVA] Fehlerbehandlung, wenn die Gradle-Abhängigkeit SLF4J verwendet

Die Bibliothek, die ich in Gradles Abhängigkeit hinzugefügt habe, verwendet ein Protokollierungsframework namens SLF4J. Möglicherweise wird beim Ausführen des Programms ein Fehler angezeigt. Notieren Sie sich hier, wie Sie damit umgehen sollen.

 Failed to load class

Wenn die als Abhängigkeit hinzugefügte Bibliothek SLF4J verwendet, wird möglicherweise der folgende Fehler ausgegeben.

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

Dies bedeutet, dass es keinen Logger gibt, der StaticLoggerBinder implementiert. In SLF4J wird die zu verwendende Protokollimplementierung von einer Klasse namens StaticLoggerBinder angegeben. Fügen wir also einen Logger (Log4J) hinzu, der StaticLoggerBinder in die Abhängigkeit implementiert.

build.gradle


dependencies {
    compile 'org.slf4j:slf4j-log4j12:1.7.21'
}

 WARN No appenders could be found for logger

Wenn ich einen Logger (Log4J) hinzufüge, der StatucLoggerBinder in eine Abhängigkeit implementiert, und das Programm ausführe, wird die folgende Warnung ausgegeben.

log4j:WARN No appenders could be found for logger (xxxxxxx).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Dies bedeutet, dass Appender nicht für die Klasse festgelegt ist, die Protokolle ausgibt. Erstellen wir also eine Log4J-Konfigurationsdatei und platzieren sie in der Datei "src / main / resources" des Projekts.

</ i> Zu erstellende Einstellungsdatei

Ich möchte das Protokoll in der Entwicklungsumgebung ausgeben, aber in der Produktionsumgebung ist es möglicherweise nicht erforderlich, das Protokoll auszugeben Notieren Sie sich die Einstellungen für die Ausgabe von Protokollen und nicht für die Ausgabe von Protokollen.

Bei der Ausgabe eines Protokolls

log4j.properties


log4j.rootLogger=DEBUG, console
log4j.logger.xxx=DEBUG, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%-5p-%c] %m%n

Wenn das Protokoll nicht ausgegeben wird

log4j.properties


log4j.rootLogger=FATAL, null
log4j.appender.null=org.apache.log4j.varia.NullAppender

Recommended Posts

Fehlerbehandlung, wenn die Gradle-Abhängigkeit SLF4J verwendet
Fehler bei der Verwendung von Schienen Capybara
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
[Spring Framework] Umgang mit HTTP-Anforderungsfehlern mithilfe von RestTemplate bei Verwendung eines Proxyservers
Beim Hinzufügen einer Abhängigkeit wird eine Fehlermeldung angezeigt
Unterdrücken Sie Warnmeldungen zu SLF4J, wenn Sie SSHJ verwenden
Was ist SLF4J?
Was ist Gradle?
Beim Hochladen einer Datei mit Spring Boot wird eine Fehlerbehandlung durchgeführt, wenn die maximale Dateigröße überschritten wird.
Wenn die Erstellungsaktion fehlschlägt, wird keine Fehlermeldung angezeigt