Spring boot 는 로그 백 을 사용 하여 로그 관리 과정 에 대한 상세 한 설명 을 실현 합 니 다.
1.jar 패키지 가 져 오기
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
2.logback-spring.xml 프로필 만 들 기
<?xml version="1.0" encoding="UTF-8"?>
<!-- scan , scanPeriod -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>zlyPay-log</contextName>
<!-- info -->
<property name="log.path" value="D:\\log\\" />
<property name="log.file" value="D:\\log\\logback.log" />
<!-- errr, -->
<property name="log.path.error" value="D:\\log\\error\\" />
<property name="log.file.error" value="D:\\log\\error\\logback-error.log" />
<!-- -->
<property name="log.path.warn" value="D:\\log\\warn\\" />
<property name="log.file.warn" value="D:\\log\\warn\\logback-error.log" />
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.file}</file>
<!-- : -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- : 128MB + i log -->
<fileNamePattern>${log.path}zlyPay-log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>512MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- :30 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!--
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter> -->
</appender>
<!-- -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.file.error}</file>
<!-- : -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- : 2MB + i log -->
<fileNamePattern>${log.path.error}zlyPay-log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>128MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- :180 -->
<maxHistory>180</maxHistory>
</rollingPolicy>
<append>true</append>
<!-- -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- -->
<level>ERROR</level>
<!-- : ( ) -->
<onMatch>ACCEPT</onMatch>
<!-- : ( ) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- -->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- appender , , -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!-- ,sql -->
<level>DEBUG</level>
</filter>
</appender>
<!-- -->
<appender name="STDOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- : -->
<file>${log.file.warn}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- : 2MB + i log -->
<fileNamePattern>${log.path.warn}zlyPay-log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>128MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- :180 -->
<maxHistory>180</maxHistory>
</rollingPolicy>
<append>true</append>
<!-- -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--<Pattern>${ENCODER_PATTERN}</Pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %X{QTRACER} %X{MDCContextId}-%X{MDCSupplyService}-%X{MDCSupplyRetryTime} %-5level %logger{0} - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- sql -->
<logger name="org.jcut.dao" level="DEBUG"></logger>
<!-- additivity 2 -->
<logger name="com.cltx" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="INFO_FILE" />
<appender-ref ref="ERROR_FILE" />
</root>
</configuration>
3.application.properties 파일 에 로그 파일 경 로 를 추가 합 니 다.\#지정 한 로그 프로필 불 러 오기
logging.config=classpath:logback-spring.xml
\#디 버 깅 환경 용 DEBUG,생산 환경 용 info
logging.level.root=DEBUG
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.