最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

@Slf4j?如何實(shí)現(xiàn)日志輸入到外部文件

 更新時(shí)間:2021年12月27日 10:00:12   作者:bseayin  
這篇文章主要介紹了@Slf4j?如何實(shí)現(xiàn)日志輸入到外部文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Slf4j實(shí)現(xiàn)日志輸入到外部文件

1. 添加一個(gè)配置文件

\src\main\resources\logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="10 seconds">
    <contextName>logback</contextName>
    <!-- 格式化輸出:%date表示日期,%thread表示線程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度 %msg:日志消息,%n是換行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定義日志存儲(chǔ)的路徑,不要配置相對(duì)路徑 -->
    <property name="FILE_PATH" value="C:/tmp/spring-log.%d{yyyy-MM-dd}.%i.log" />
    <!-- 控制臺(tái)輸出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志級(jí)別過濾INFO以下 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN來打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--每天生成一個(gè)日志文件,保存30天的日志文件。rollingFile用來切分文件的 -->
    <appender name="rollingFile" 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>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>2MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 超出刪除老文件 -->
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- project default level -->
    <logger name="net.sh.rgface.serive" level="ERROR" />
    <!-- 日志輸出級(jí)別 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>
</configuration>

直接在代碼中使用

package com.zz.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class LogBackController {
    @GetMapping("/logtest1")
    public String test1(){
        log.debug("debug測(cè)試日志消息");
        log.info("info 測(cè)試日志信息");
        log.error("info 測(cè)試日志信息");
        log.warn("warn 測(cè)試日志信息");
        return "ok";
    }
}

運(yùn)行結(jié)果:

在這里插入圖片描述

@Slf4j日志文件打印和輸出文件

首先配置lombok

 <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>1.16.18</version>
     <scope>provided</scope>
 </dependency>

添加一個(gè)配置文件

\src\main\resources\logback-spring.xml。設(shè)置為每天生成一個(gè)文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="10 seconds">
    <contextName>logback</contextName>
    <!-- 格式化輸出:%date表示日期,%thread表示線程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度 %msg:日志消息,%n是換行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定義日志存儲(chǔ)的路徑,不要配置相對(duì)路徑 -->
    <property name="FILE_PATH" value="E:/IDEAproject/INFO/cloud.%d{yyyy-MM-dd}.%i.log" />
    <!-- 控制臺(tái)輸出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志級(jí)別過濾INFO以下 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN來打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--每天生成一個(gè)日志文件,保存30天的日志文件。rollingFile用來切分文件的 -->
    <appender name="rollingFile" 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>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>2MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 超出刪除老文件 -->
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- project default level -->
    <logger name="net.sh.rgface.serive" level="ERROR" />
    <!-- 日志輸出級(jí)別 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>
</configuration>

方法中的使用

@Service
@Slf4j
public class TestService {
    public void test(String name){
        log.info("{}-->啟動(dòng)任務(wù)",name);
        name = "李四";
        log.info("{}-->任務(wù)結(jié)束",name);
        try {
            int a = 0;
            a = a/0;
        }catch (Exception e){
            log.error(e.getMessage());
        }
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

达孜县| 绥中县| 奇台县| 根河市| 湖南省| 定结县| 孟村| 长治市| 分宜县| 泾源县| 杭锦后旗| 南投市| 色达县| 天峨县| 仙居县| 济源市| 嵊州市| 永安市| 萨迦县| 霍州市| 儋州市| 普兰店市| 宜良县| 嵩明县| 罗甸县| 宝丰县| 喀什市| 临江市| 乌拉特后旗| 松滋市| 萨迦县| 共和县| 平乡县| 诸城市| 长垣县| 新龙县| 莎车县| 桂林市| 中宁县| 南安市| 陵川县|