Logback は、アプリケーション構成ファイルと logback-spring.xml を通じてログを構成できます。通常の状況では、グローバル構成ファイル application.yml または構成のプロパティを使用するだけで十分ですが、ログ出力要件が特に複雑で個人用である場合は、logback-spring.xml 構成メソッドの使用を検討できます。
application.properties(yml) ファイルでログを設定できます
logging: level: root: info com.zimug.boot.launch.controller: debug file: path: D:\logs name: D:\logs\boot-launch.log max-size: 10MB max-history: 10 pattern: console: '%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{10}) - %cyan(%msg%n)' file: '%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n'
logging.level.root=info
システム全体のデフォルトのログ レベルが info であることを指定し、ログ レベルが統一されます
#logging.level.com。 zimug.boot.launch.controller=debug
は、特定のパッケージのログ レベルがデバッグであり、ログ レベルが個人用であることを指定します。優先順位の観点から見ると、パーソナライズされた構成は統合された構成よりも優れています。
logging.file.path
指定されていない場合は、指定されたディレクトリにログを出力します。
logging .file.name
、ログ ファイルのデフォルト名は spring.log です。 logging.file.name
を構成すると、logging.file.path
構成は無効になります。
設定に関係なく、Spring Boot はログ ファイルを日ごとに自動的に分割します。つまり、新しいログ ファイルは毎日自動的に生成され、前のログ ファイルは自動的に生成されます。自動的に GZ 圧縮パッケージにフォーマットされます。 # ログ ファイル サイズ
設定可能 logging.file.max-size=10MB
各分割ログ ファイルの最大容量を超えます。このサイズを超えてもログは引き続き分割されます。
ログの保持期間は logging.file.max-history=10
(日単位) で設定できます
#logging.pattern.file
ファイルに出力されるログの形式
logging.pattern.console
コンソール出力ログの形式コンソールのデバッグ中の表示効果がより明確になり、ログに色が追加されます。赤、緑など。
この図で、プレースホルダーと logging.pattern.console
の関係を見てみましょう。形式設定間
Spring Boot は、独自のログバックを使用してログを出力し、複数の環境で出力します。
2.2. 要件の実装
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!--引入默认的一些设置--> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <!--web信息--> <logger name="org.springframework.web" level="info"/> <!--写入日志到控制台的appender,用默认的,但是要去掉charset,否则windows下tomcat下乱码--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> </encoder> </appender> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_PATH" value="D:/logs/boot-launch"/> <!--写入日志到文件的appender--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名,每天一个文件--> <FileNamePattern>${LOG_PATH}.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日志文件保留天数--> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <!--异步写日志到文件--> <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>0</discardingThreshold> <queueSize>500</queueSize> <appender-ref ref="FILE"/> </appender> <!--生产环境:打印控制台和输出到文件--> <springProfile name="prod"> <root level="info"> <appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/> </root> </springProfile> <!--开发环境:打印控制台--> <springProfile name="dev"> <!-- 打印sql --> <logger name="com.zimug.boot.launch" level="DEBUG"/> <root level="DEBUG"> <appender-ref ref="CONSOLE"/> </root> </springProfile> <!--测试环境:打印控制台--> <springProfile name="test"> <root level="info"> <appender-ref ref="CONSOLE"/> </root> </springProfile> </configuration>
非同期ログ構成:
以上がspringboot logback ログ フレームワークを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。