Springboot 프로젝트 가 로 컬 시스템 로그 파일 을 저장 하 는 실현 방법
10456 단어 Springboot로 컬 시스템 저장로그 파일
말 은 많 지 않 지만,실제 효 과 는 다음 과 같다.만약 네가 예상 한 것 이 라면,우 리 는 이어서 아래 를 보 자.
마지막 으로 도움 이 된다 면 칭찬 을 아 끼 지 마 세 요.바로 피아 의 불 이 켜 지면 끝 이에 요.다행 이에 요.
다음은 통합 입 니 다.절차 에 따라:
1.프로젝트 의 resources 디 렉 터 리 에 logback-spring.xml 라 는 로그 프로필 을 만 듭 니 다.프로필 이름 은 저 와 같 으 면 좋 습 니 다.
2.xml 파일 내용 작성:
code 의 모든 구절 에 주석 을 달 아 이해 하기 편리 합 니 다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- -->
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<!-- -->
<springProperty scope="context" name="springAppName" source="spring.application.name"/>
<!-- info -->
<springProperty scope="context" name="logback.fileInfoLog.maxFileSize" source="logback.fileInfoLog.maxFileSize" defaultValue="200MB" />
<!-- info -->
<springProperty scope="context" name="logback.fileInfoLog.maxHistory" source="logback.fileInfoLog.maxHistory" defaultValue="15" />
<!-- info , , -->
<springProperty scope="context" name="logback.fileInfoLog.totalSizeCap" source="logback.fileInfoLog.totalSizeCap" defaultValue="100GB" />
<!-- error -->
<springProperty scope="context" name="logback.fileErrorLog.maxFileSize" source="logback.fileErrorLog.maxFileSize" defaultValue="200MB" />
<!-- error -->
<springProperty scope="context" name="logback.fileErrorLog.maxHistory" source="logback.fileErrorLog.maxHistory" defaultValue="15" />
<!-- error , , -->
<springProperty scope="context" name="logback.fileErrorLog.totalSizeCap" source="logback.fileErrorLog.totalSizeCap" defaultValue="100GB" />
<!-- http -->
<springProperty scope="context" name="logback.fileHttpLog.maxFileSize" source="logback.fileHttpLog.maxFileSize" defaultValue="200MB" />
<!-- http -->
<springProperty scope="context" name="logback.fileHttpLog.maxHistory" source="logback.fileHttpLog.maxHistory" defaultValue="15" />
<!-- http , , -->
<springProperty scope="context" name="logback.fileHttpLog.totalSizeCap" source="logback.fileHttpLog.totalSizeCap" defaultValue="100GB" />
<!-- -->
<springProperty scope="context" name="logback.rootDir" source="logback.rootDir" defaultValue="logs"/>
<!-- -->
<property name="CONSOLE_LOG_PATTERN"
value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
<!-- -->
<property name="FILE_LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%c:%L]-%m%n"/>
<!-- -->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</layout>
</appender>
<!-- info -->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${logback.rootDir}/${springAppName}.log</file>
<!-- -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" >
<!-- -->
<fileNamePattern>${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>${logback.fileInfoLog.maxFileSize}</maxFileSize>
<maxHistory>${logback.fileInfoLog.maxHistory}</maxHistory>
<totalSizeCap>${logback.fileInfoLog.totalSizeCap}</totalSizeCap>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
</appender>
<!-- -->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${logback.rootDir}/${springAppName}-error.log</file>
<!-- -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" >
<!-- -->
<fileNamePattern>${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-error-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>${logback.fileErrorLog.maxFileSize}</maxFileSize>
<maxHistory>${logback.fileErrorLog.maxHistory}</maxHistory>
<totalSizeCap>${logback.fileErrorLog.totalSizeCap}</totalSizeCap>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
</appender>
<!-- http -->
<appender name="httpInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %m%n</pattern>
</encoder>
<file>${logback.rootDir}/${springAppName}-http.log</file>
<!-- -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- -->
<fileNamePattern>${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-http-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>${logback.fileHttpLog.maxFileSize}</maxFileSize>
<maxHistory>${logback.fileHttpLog.maxHistory}</maxHistory>
<totalSizeCap>${logback.fileHttpLog.totalSizeCap}</totalSizeCap>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
</appender>
<appender name="ASYNC_consoleLog" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="consoleLog"/>
</appender>
<appender name="ASYNC_fileInfoLog" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="fileInfoLog"/>
</appender>
<appender name="ASYNC_fileErrorLog" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="fileErrorLog"/>
</appender>
<appender name="ASYNC_httpInfoLog" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="httpInfoLog"/>
</appender>
<root level="info">
<appender-ref ref="ASYNC_consoleLog" />
<appender-ref ref="ASYNC_fileInfoLog" />
<appender-ref ref="ASYNC_fileErrorLog" />
</root>
<logger name="log_http" additivity="false" level="INFO">
<appender-ref ref="ASYNC_httpInfoLog"/>
</logger>
</configuration>
3.로그 설정 에서 언급 한 springAppName 설정 하기;4.이 기본 값 을 사용 하면 pom 의존 을 설정 하지 않 습 니 다.최신 spring-boot-starter-web 에 통합 되 었 습 니 다.다음 항목 을 다시 시작 하면 로그 파일 이 자동 으로 생 성 되 고 실시 간 으로 기록 되 며 콘 솔 에서 무엇 을 출력 하 는 지 즉시 이 xxx.log 에 업 데 이 트 됩 니 다.
로그 설정 이 끝 난 후에 Maven 을 새로 고치 거나 항목 을 닫 고 다시 열 어 로그 설정 이 소 용이 없다 고 생각 하지 않도록 하 세 요.
요약:프로젝트 를 시작 하면 logback-spring.xml 파일 을 resources 디 렉 터 리 에 직접 복사 하면 로그 파일 기록 을 실현 할 수 있 습 니 다.너무 편 하 죠?
그리고:
콘 솔 에 sql 을 인쇄 하려 면 다음 과 같 습 니 다.
프로필 에 이 문장 을 추가 하면 됩 니 다.
###sql
logging.level.com.system.xiaoma.mapper=debug
Springboot 프로젝트 가 로 컬 시스템 로그 파일 을 저장 하 는 실현 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Springboot 가 로 컬 시스템 로그 파일 을 저장 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.