ホームページ > Java > &#&チュートリアル > Springboot ではどのようにして logger.debug がログを出力できるようになりますか?

Springboot ではどのようにして logger.debug がログを出力できるようになりますか?

WBOY
リリース: 2023-05-11 11:40:20
転載
1334 人が閲覧しました

Springboot では logger.debug でログを出力できます

正直に言うと、私はこれまでログについて表面的な理解しかしていませんでした。出力には 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 に変更するだけで済みます。

SpringBoot がデバッグ レベルのログ エラーを開始します

Tomcat ネイティブ ライブラリが名前 [tcnative-1、libtcnative-1] を使用して見つかりませんでした。

エラー スクリーンショット

Springboot ではどのようにして logger.debug がログを出力できるようになりますか?

原因

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート