Java用のSimpleLogging FacadeであるSLF4Jは、特定のロギングソリューションではなく、さまざまなロギングシステムにのみ対応します。公式声明によると、SLF4Jはロギングシステムのシンプルなファサードであり、エンドユーザーがアプリケーションを展開するときに必要なロギングシステムを使用できるようにします。
slf4jはspring-boot内に統合されているため、slf4jの簡単な構成を行うだけで済みます。
まず、ログ関連の構成用のファイルが必要です。
logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<!-- 定义日志存储的路径,不要配置相对路径 -->
<property name="FILE_PATH" value="E:/logs/demo.%d{yyyy-MM-dd}.%i.log" />
<!-- 控制台输出日志 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 按照上面配置的LOG_PATTERN来打印日志 -->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--每天生成一个日志文件,保存15天的日志文件。rollingFile是用来切分文件的 -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件的最大大小 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name="src" level="INFO" />
<!-- 日志输出级别 常用的日志级别按照从高到低依次为:ERROR、WARN、INFO、DEBUG。 -->
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
次に、アプリケーションで構成ファイルの場所を指定します。
## 日志配置
logging:
config: src/main/resources/logback.xml
level:
com.github.springbootmiaosha.dao: trace
logging.levelは、特定のマッパーのログの出力レベルを指定するために使用されます。上記の構成は、com.ruifeng.demo.daoパッケージの下のすべてのマッパーログ出力レベルがトレースであり、データベースを操作するためのSQLが出力されることを意味します。アウト。問題の特定を容易にするために、開発中にトレースするように設定します。実稼働環境では、このログレベルをエラーレベルに設定します。
構成が完了したら、どこでも使用できます。
package com.github.springbootmiaosha;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author lizhangyu
*/
@SpringBootApplication
public class SpringbootMiaoshaApplication {
private static final Logger logger = LoggerFactory.getLogger(SpringbootMiaoshaApplication.class);
public static void main(String[] args) {
logger.info("SpringBoot开始加载");
SpringApplication.run(SpringbootMiaoshaApplication.class, args);
logger.info("SpringBoot加载完毕");
}
}