中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件

發布時間:2021-10-14 14:44:53 來源:億速云 閱讀:214 作者:iii 欄目:編程語言

這篇文章主要介紹“如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件”,在日常操作中,相信很多人在如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1.層級目錄截圖

如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件

2.pom依賴,注意--idea下載lombok插件

<!--lombok --><dependency>   <groupId>org.projectlombok</groupId>   <artifactId>lombok</artifactId>   <version>1.16.16</version></dependency><!--sl4j --><dependency>   <groupId>org.slf4j</groupId>   <artifactId>slf4j-api</artifactId>
   <version>1.7.25</version>
</dependency>

3.logback文件

<?xml version="1.0" encoding="UTF-8"?><configuration debug="false" scan="true" scanPeriod="1 seconds">    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">        <encoder>            <pattern>%d{HH:mm:ss.SSS} [%thread] %level %logger{35} - %msg%n</pattern>        </encoder>    </appender>    <appender name="siftInfo" class="ch.qos.logback.classic.sift.SiftingAppender">        <!--discriminator鑒別器,設置運行時動態屬性,siftingAppender根據這個屬性來輸出日志到不同文件 -->        <discriminator>            <key>deviceId</key>            <defaultValue>unknown</defaultValue>        </discriminator>        <sift>            <!--具體的寫日志appender,每一個deviceId創建一個文件-->            <appender name="FILE-${deviceId}" class="ch.qos.logback.core.rolling.RollingFileAppender">                <append>true</append>                <encoder charset="UTF-8">                    <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level %logger{35} - %msg%n</pattern>                </encoder>                <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">                    <!--定義文件滾動時的文件名的格式--><!--                    <fileNamePattern>./logs/%d{yyyyMMdd}/deviceId-${deviceId}-%i.log</fileNamePattern>-->                    <fileNamePattern>D:/mylogs/%d{yyyyMMdd}/deviceId-${deviceId}-%i.log</fileNamePattern>                    <maxFileSize>500MB</maxFileSize>                    <maxHistory>60</maxHistory>                    <totalSizeCap>20GB</totalSizeCap>                </rollingPolicy>                <filter class="ch.qos.logback.classic.filter.ThresholdFilter">                    <level>INFO</level>                </filter>            </appender>        </sift>    </appender>    <root level="info">        <appender-ref ref="console"/>        <appender-ref ref="siftInfo"/>    </root></configuration>

4.測試類

import org.apache.log4j.MDC;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class TestLogback {public static final Logger logger = LoggerFactory.getLogger(TestLogback.class);    public void test1(){
        MDC.put("deviceId", "deviceId3");        logger.debug("deviceId3 connected");        MDC.put("deviceId", "deviceId4");        logger.error("deviceId4   ---connected");        MDC.put("deviceId", "deviceId5");        logger.info("deviceId5   ---connected");    }public void test2(){
        MDC.put("deviceId", "deviceId2");        logger.trace("deviceId2 connected");    }public static void main(String[] args) {final TestLogback testLogback = new TestLogback();        testLogback.test1();        testLogback.test2();    }
}

5.效果截圖

如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件

如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件

注意點:用log打印日志前需要拿到該設備的唯一標識。重點在于 :

MDC.put("deviceId", "deviceId3");   //根據deviceId3 生成日志文件,有則追加數據,沒有則創建該文件。   deviceId3就是打印的唯一標識
logger.debug("deviceId3 connected");     // MDC.put("deviceId", "deviceId3"); 為第一步,  logger.debug("deviceId3 connected"); 打印日志為第二bu

到此,關于“如何使用logback自定義deviceId,并根據deviceId生成各自的日志文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安泽县| 桑日县| 固安县| 温泉县| 会泽县| 莱西市| 温州市| 皮山县| 榕江县| 武义县| 安顺市| 宜州市| 宿迁市| 新津县| 开化县| 资源县| 沾益县| 宁城县| 霍邱县| 湘潭县| 富民县| 水城县| 神木县| 咸阳市| 巴塘县| 平安县| 台北县| 晋州市| 太原市| 乌鲁木齐市| 兴安盟| 房山区| 商都县| 楚雄市| 恩施市| 三河市| 格尔木市| 都江堰市| 新蔡县| 葵青区| 沛县|