正直に言うと、私はこれまでログについて表面的な理解しかしていませんでした。出力には logger.info と logger.error を使用します。 LemonRobot プロジェクトでは、デバッグ情報も出力し、オンライン時にデバッグ レベルのログが表示されないようにログ レベルを制御することにしました。
しかし、実行後、デフォルトの logger.debug によって生成されたログがコンソールに出力されないことがわかりました。調べた結果、ログバック構成の問題が原因であることがわかりました。
sr/main/resources フォルダーに新しい logback.xml を作成し、次の設定をファイルにコピーします:
logback.xml は自動的に読み込まれます。名前が異なる場合は、 、application.yml または application.properties で設定する必要があります。
#配置日志 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>
この設定ファイルを使用すると、ログをコンソールとローカル ファイルに同時に出力でき、ログ ファイルは zip パッケージに圧縮されます。
現時点でプロジェクトがオンラインの場合は、デバッグ ログは必要ありません。ルート ラベルの下のレベルを INFO に変更するだけで済みます。
Tomcat ネイティブ ライブラリが名前 [tcnative-1、libtcnative-1] を使用して見つかりませんでした。
tomcat が JNI ダイナミック リンク ライブラリを見つけられませんでした。この dll は Apache Tomcat の下にありますが、起動時に Springboot に埋め込まれた Tomcat の下には見つかりません。
これは、パフォーマンスを向上させるために、Tomcat のコネクタが、(クロスプラットフォームではなく) オペレーティング システムにバインドされたローカル ライブラリをロードする方法を採用しているためです。たとえば、.dll ダイナミック リンク ライブラリなどです。 Windows システム。
上記の例外で見つからない 2 つの .dll ライブラリ ファイルは、デフォルトでは Tomcat の bin ディレクトリに見つかりますが、SpringBoot の Tomcat が組み込まれているため、これら 2 つの .dll は存在しません。
このエラーは無視してよいため、SpringBootこのエラーのログ レベルをデバッグに設定します。
強迫性障害がある場合は、次のように解決することもできます。
tcnative-1.dll と libtcnative-1.dll を C:\Windows\System32 の Tomcat の下に直接配置します。 、プロジェクトを再起動するだけです。
以上がSpringboot ではどのようにして logger.debug がログを出力できるようになりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。