Um ehrlich zu sein, habe ich heute, als ich das LemonRobot-Projekt geschrieben habe, nur ein oberflächliches Verständnis von Protokollen gehabt um auch Debugging-Informationen einzugeben und dann die Debug-Level-Protokolle entsprechend der Protokollebene zu steuern, wenn Sie online gehen.
Aber nachdem ich es ausgeführt hatte, stellte ich fest, dass die vom Standardprotokoll logger.debug generierten Protokolle nicht an die Konsole ausgegeben wurden. Nach einiger Recherche lag dies an Problemen mit der Logback-Konfiguration.
Erstellen Sie eine neue logback.xml im Ordner sr/main/resources und kopieren Sie dann die folgende Konfiguration in die Datei:
logback.xml wird automatisch geladen. Wenn der Name anders ist, müssen wir ihn zur Anwendung hinzufügen .yml oder Anwendung. Konfiguration in Eigenschaften:
#配置日志 logging: #此处存放日志的路径 path: config: classpath:config/logback-spring.xml #指定不同目录下的日志的级别 level: com.shimain.springboot.mapper: DEBUG
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="3 seconds"> <!--设置日志输出为控制台--> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%logger{32}] %msg%n</pattern> </encoder> </appender> <!--设置日志输出为文件--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>logFile.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>logFile.%d{yyyy-MM-dd_HH-mm}.log.zip</FileNamePattern> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{HH:mm:ss,SSS} [%thread] %-5level %logger{32} - %msg%n</Pattern> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </root> </configuration>
Diese Konfigurationsdatei ermöglicht die gleichzeitige Ausgabe von Protokollen an die Konsole und lokale Dateien, und die Protokolldateien werden in ZIP-Dateien komprimiert.
Wenn das Projekt zu diesem Zeitpunkt online ist, sind keine Debug-Protokolle erforderlich. Sie müssen lediglich die Ebene unter dem Root-Tag in INFO ändern.
Die native Tomcat-Bibliothek konnte mit den Namen [tcnative-1, libtcnative-1] nicht gefunden werden.
Dies liegt daran, dass der Connector in Tomcat zur Verbesserung der Leistung die Methode des Ladens lokaler Bibliotheken übernimmt, die an das Betriebssystem gebunden sind (nicht plattformübergreifend), wie z. B. DLL-Dynamic-Link-Bibliotheken in Windows-Systemen.
Die beiden DLL-Bibliotheksdateien, die in der obigen Ausnahme nicht gefunden werden können, befinden sich standardmäßig im bin-Verzeichnis von Tomcat. Da Tomcat von SpringBoot jedoch eingebettet ist, gibt es diese beiden DLLs nicht.
Lösung
setzen Sie die Protokollebene dieses Fehlers auf Debuggen. Wenn Sie an einer Zwangsstörung leiden, können Sie diese auch wie folgt lösen:
Legen Sie tcnative-1.dll und libtcnative-1.dll direkt unter Tomcat unter C:WindowsSystem32 ab und starten Sie das Projekt neu.
Das obige ist der detaillierte Inhalt vonWie ermöglicht Springboot, dass logger.debug Protokolle ausgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!