bladex将日志logback.xml配置到nacos无法正常输出日志

Blade 已结 1 486
renjiangyang
renjiangyang 剑圣 2022-09-29 20:27

一、该问题的重现步骤是什么?

  1. nacos增加log.xml配置

  2. <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="false" debug="false">
    <!-- 自定义参数监听
       <contextListener class="org.springblade.core.log.listener.LoggerStartupListener"/> -->
    <springProperty scope="context" name="springAppName" source="spring.application.name"/>

    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <property name="CONSOLE_LOG_PATTERN"
    value="${CONSOLE_LOG_PATTERN:-%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}}"/>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    <charset>utf8</charset>
    </encoder>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 输出路径 -->
    <!-- <file>./log/${springAppName}_log_info.log</file>-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 日志文件输出的文件名 -->
    <FileNamePattern>./logs/${springAppName}-debug-%d{yyyy-MM-dd}.log</FileNamePattern>
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
    </encoder>
    <!-- 打印日志级别 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>DEBUG</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 输出路径 -->
    <!-- <file>./log/${springAppName}_log_info.log</file>-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 日志文件输出的文件名 -->
    <FileNamePattern>./logs/${springAppName}-info-%d{yyyy-MM-dd}.log</FileNamePattern>
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
    </encoder>
    <!-- 打印日志级别 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>INFO</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 日志文件输出的文件名 -->
    <!--  <FileNamePattern>target/blade/log/error-%d{yyyy-MM-dd}.log</FileNamePattern>-->
    <FileNamePattern>./logs/${springAppName}-error-%d{yyyy-MM-dd}.log</FileNamePattern>
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</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="STDOUT"/>
    <appender-ref ref="DEBUG"/>
    <appender-ref ref="INFO"/>
    <appender-ref ref="ERROR"/>
    </root>

    <logger name="net.sf.ehcache" level="INFO"/>
    <logger name="druid.sql" level="INFO"/>

    <!-- 减少nacos日志 -->
    <logger name="com.alibaba.nacos" level="ERROR"/>

    </configuration>

2. 对应的模块中配置动态日志

image.png

3. 日志无法正常输出了(该方法已在其他boot测试过可正常使用)

image.png



二、你期待的结果是什么?实际看到的又是什么?

    

    期望日志正常输出,但是日志无法正常输出


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

    

    bladex.3.0.1 centos7.6


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2022-10-08 02:04

    bladex底层做了配置,你可以删掉后自定义

    image.png

    0 讨论(1)
提交回复