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

Springboot logback-spring.xml無(wú)法加載問(wèn)題

 更新時(shí)間:2024年05月14日 16:04:02   作者:zhangnero  
這篇文章主要介紹了Springboot logback-spring.xml無(wú)法加載問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Springboot logback-spring.xml無(wú)法加載

現(xiàn)象

SpringBoot項(xiàng)目,啟動(dòng)后,日志文件沒(méi)有出現(xiàn)在logback-spring.xml指定的目錄下

且啟動(dòng)日志開頭如下:

"C:\Program Files\Java\jdk1.8.0_144\bin\java"...
Connected to the target VM, address: '127.0.0.1:52494', transport: 'socket'
18:34:58,011 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
18:34:58,011 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
18:34:58,011 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/D:/mvn_repo/xxx-1.0.2.jar!/logback.xml]
18:34:58,014 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@707194ba - URL [jar:file:/D:/mvn_repo/yyy-1.0.2.jar!/logback.xml] is not of type file
18:34:58,112 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [jar:file:/D:/mvn_repo/zzz-1.0.2.jar!/logback.xml] 

logback-spring.xml文件一直未改動(dòng)過(guò),如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">

    <springProperty scope="context" name="logPath" source="log.path"/>
    <springProperty scope="context" name="logLevel" source="log.level"/>


    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} %line - %msg%n</pattern>
        </layout>
    </appender>

    <appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--滾動(dòng)策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--輸出路徑-->
            <fileNamePattern>${logPath}/server.%d.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} %line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--滾動(dòng)策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--輸出路徑-->
            <fileNamePattern>${logPath}/server.%d.error</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} %line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <root level="${logLevel}">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</Configuration>

原因分析

1.配置文件位置正確

classes/
├── application.properties
├── com
│   └── nero
│       └── test
│           ├── api
│           │   ├── Api.class

2.分析啟動(dòng)日志,分析可能是依賴的jar中有l(wèi)ogback.xml配置,沖突導(dǎo)致的問(wèn)題

解決方案

在application.properties中加入配置:

logging.config=classpath:logback-spring.xml

通過(guò)該配置,強(qiáng)制指定日志的配置文件,問(wèn)題得以解決

springboot logback-spring.xml 配置, 使用不同配置文件中的配置

application.yml

spring:
  profiles:
    active: prod  # active 哪一個(gè)配置文件

application-dev.yml

logging:
  file:
    path: d:/var/log

application-prod.yml

logging:
  file:
    path: /var/log/question

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>wechat-service</contextName>
    <!-- !!!!!!!!!獲取 application-{xxx}.yml 的配置 !!!!!-->
    <springProperty scope="context" name="log.path" source="logging.file.path"/>
    <!--<property name="log.path" value="log" />-->
    <property name="log.maxHistory" value="15" />
    <property name="log.colorPattern" value="%d{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/>
    <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n" />
    <!--輸出到控制臺(tái)-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${log.colorPattern}</pattern>
        </encoder>
    </appender>
    <!--輸出到文件 info 級(jí)別的 log-->
    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/info/info.%d{yyyy-MM-dd}.log</fileNamePattern>
            <MaxHistory>${log.maxHistory}</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!--輸出到文件 error 級(jí)別的 log-->
    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <root level="debug">
        <appender-ref ref="console" />
    </root>
    <root level="info">
        <appender-ref ref="file_info" />
        <appender-ref ref="file_error" />
    </root>

</configuration>

從application-xxx.yml 中拿配置

<springProperty scope="context" name="log.path" source="logging.file.path"/>

總結(jié)

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

相關(guān)文章

  • Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    這篇文章主要介紹了Java局部?jī)?nèi)部類和匿名內(nèi)部類,結(jié)合實(shí)例形式分析了java局部?jī)?nèi)部類和匿名內(nèi)部類相關(guān)定義、原理與用法,需要的朋友可以參考下
    2019-08-08
  • Olingo分析和實(shí)踐之OData框架核心組件初始化(關(guān)鍵步驟)

    Olingo分析和實(shí)踐之OData框架核心組件初始化(關(guān)鍵步驟)

    ODataSpringBootService通過(guò)初始化OData實(shí)例和服務(wù)元數(shù)據(jù),構(gòu)建框架核心能力與數(shù)據(jù)模型結(jié)構(gòu),實(shí)現(xiàn)序列化、URI解析及URL映射,為請(qǐng)求處理提供基礎(chǔ)支撐,本文給大家介紹Olingo分析和實(shí)踐之OData框架核心組件初始化,感興趣的朋友一起看看吧
    2025-07-07
  • nodejs連接dubbo服務(wù)的java工程實(shí)現(xiàn)示例

    nodejs連接dubbo服務(wù)的java工程實(shí)現(xiàn)示例

    這篇文章主要介紹了在項(xiàng)目遷移中,nodejs連接dubbo服務(wù)的java工程實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Mybatis-plus如何在xml中傳入自定義的SQL語(yǔ)句

    Mybatis-plus如何在xml中傳入自定義的SQL語(yǔ)句

    這篇文章主要介紹了Mybatis-plus如何在xml中傳入自定義的SQL語(yǔ)句問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java并發(fā)編程之volatile與JMM多線程內(nèi)存模型

    Java并發(fā)編程之volatile與JMM多線程內(nèi)存模型

    這篇文章主要介紹了Java并發(fā)volatile與JMM多線程內(nèi)存模型,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Java中如何模擬HTTP請(qǐng)求并驗(yàn)證功能

    Java中如何模擬HTTP請(qǐng)求并驗(yàn)證功能

    要模擬HTTP請(qǐng)求并驗(yàn)證功能,你可以使用Spring Boot提供的MockMvc工具,它允許我們?cè)跊](méi)有實(shí)際啟動(dòng)HTTP服務(wù)器的情況下測(cè)試Spring MVC控制器,下面給大家分享如何模擬HTTP請(qǐng)求并驗(yàn)證功能,感興趣的朋友一起看看吧
    2024-05-05
  • springboot植入pagerHelper的超詳細(xì)教程

    springboot植入pagerHelper的超詳細(xì)教程

    這篇文章主要介紹了springboot植入pagerHelper的超詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 尋找二叉樹最遠(yuǎn)的葉子結(jié)點(diǎn)(實(shí)例講解)

    尋找二叉樹最遠(yuǎn)的葉子結(jié)點(diǎn)(實(shí)例講解)

    下面小編就為大家分享一篇尋找二叉樹最遠(yuǎn)的葉子結(jié)點(diǎn)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Sharding-Proxy基本功能用法介紹

    Sharding-Proxy基本功能用法介紹

    這篇文章介紹了Sharding-Proxy基本功能用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • SpringBoot實(shí)現(xiàn)WebSocket服務(wù)并讓客戶端實(shí)時(shí)接收

    SpringBoot實(shí)現(xiàn)WebSocket服務(wù)并讓客戶端實(shí)時(shí)接收

    使用SpringBoot和WebSocket可創(chuàng)建實(shí)時(shí)消息推送服務(wù),首先添加WebSocket依賴至pom.xml,配置WebSocket端點(diǎn)和邏輯處理器,通過(guò)WebSocketHandler處理消息,使用AnnouncementController模擬消息推送,支持HTML和微信小程序客戶端接收消息,感興趣的可以了解一下
    2024-10-10

最新評(píng)論

新建县| 上杭县| 临海市| 阿尔山市| 黄龙县| 建水县| 乐亭县| 灵寿县| 台东市| 高碑店市| 盐亭县| 绵阳市| 沂源县| 铜山县| 望都县| 怀柔区| 博白县| 桐城市| 黔东| 芜湖市| 江华| 南召县| 交口县| 葵青区| 饶平县| 望奎县| 林周县| 三明市| 延长县| 商都县| 衡阳县| 天镇县| 霍邱县| 沐川县| 澜沧| 兰西县| 乐昌市| 嘉兴市| 柯坪县| 洮南市| 惠安县|