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.root=info
指定整个系统的默认日志级别是info,日志级别统一化
logging.level.com.zimug.boot.launch.controller=debug
,指定某个特定的package的日志级别是debug,日志级别个性化。优先级角度,个性配置大于统一配置。
logging.file.path
将日志输出到指定目录,如果不指定
logging.file.name
,日志文件的默认名称是spring.log。配置了logging.file.name
之后,logging.file.path
配置失效。
无论何种设置,Spring Boot都会自动按天分割日志文件,也就是说每天都会自动生成一个新的log文件,而之前的会自动打成GZ压缩包。# 日志文件大小
可以设置logging.file.max-size=10MB
分割的每个日志的文件最大容量,超过这个size之后日志继续分隔。
可以设置保留的日志时间logging.file.max-history=10
,以天为单位
logging.pattern.file
输出到文件中的日志的格式
logging.pattern.console
控制台输出日志的格式,为了在控制台调试时候显示效果更清晰,为日志增加了颜色。red、green等等
配合这张图,看一下占位符和logging.pattern.console
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
형식 구성의 관계를 살펴보겠습니다
%-5level: 로그 레벨, 5자를 사용하여 왼쪽으로 정렬(파란색 강조 표시)
%msg: 로그 메시지( 청록색) %n: 플랫폼 개행 문자%logger: 로그 출력 클래스 이름(boldMagenta 굵은 마젠타색)
<?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 로그백 로그 프레임워크를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!