-Dspring.output.ansi.enabled=ALWAYS 设置彩色日志不生效

-Dspring.output.ansi.enabled=ALWAYS 设置彩色日志不生效

问题原因:

使用的自定义的 logback-spring.xml日志

需要改一下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 使用 %clr{} 来启用颜色 -->
            <pattern>
                %d{HH:mm:ss.SSS} [%thread] %clr(%-5level){bright} %clr(%logger){cyan} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

引入之后,可能会报错

There is no conversion class registered for composite conversion word [clr]

需要一个转换器,引入一个默认的

<!-- 引入spirng boot默认的logback配置文件 -->
  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

完整配置如下

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

<configuration>
<!-- 引入spirng boot默认的logback配置文件 -->
  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 使用 %clr{} 来启用颜色 -->
            <pattern>
                %d{HH:mm:ss.SSS} [%thread] %clr(%-5level){bright} %clr(%logger){cyan} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

其中

%clr(%logger{cyan} 输出 logger 名称(通常是类的全限定名),并用青色显示, 类名过长的化,可以加个参数
%clr(%logger{36}){cyan},{36} 表示最多显示 36 个字符,超出部分省略

项目中一般用 标签用于定义变量,把它value改一下就行
如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!-- 引入 Spring Boot 默认配置(支持 %clr 颜色) -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <!-- 定义日志输出格式 -->
    <property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} [%thread] %clr(%-5level){bright} %clr(%logger){cyan} - %msg%n"/>
    
    <!-- 定义日志文件输出路径 -->
    <property name="LOG_FILE_PATH" value="logs/app.log"/>

    <!-- 控制台 Appender -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- 文件 Appender -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE_PATH}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天生成一个日志文件 -->
            <fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留 7 天的日志 -->
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 根日志配置:输出到控制台和文件 -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>
"C:\Program Files\Java\jdk-17\bin\java.exe" -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\idea\IntelliJ IDEA 2023.1.7\lib\idea_rt.jar=56129:D:\idea\IntelliJ IDEA 2023.1.7\bin" -Dfile.encoding=UTF-8 -classpath D:\后端代码\demo\user-service\target\classes;D:\Maven\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-databind\2.17.2\jackson-databind-2.17.2.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-annotations\2.17.2\jackson-annotations-2.17.2.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-core\2.17.2\jackson-core-2.17.2.jar;D:\Maven\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2023.0.3.2\spring-cloud-starter-alibaba-nacos-discovery-2023.0.3.2.jar;D:\Maven\repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2023.0.3.2\spring-cloud-alibaba-commons-2023.0.3.2.jar;D:\Maven\repository\com\alibaba\nacos\nacos-client\2.4.2\nacos-client-2.4.2.jar;D:\Maven\repository\com\alibaba\nacos\nacos-auth-plugin\2.4.2\nacos-auth-plugin-2.4.2.jar;D:\Maven\repository\com\alibaba\nacos\nacos-encryption-plugin\2.4.2\nacos-encryption-plugin-2.4.2.jar;D:\Maven\repository\com\alibaba\nacos\nacos-logback-adapter-12\2.4.2\nacos-logback-adapter-12-2.4.2.jar;D:\Maven\repository\com\alibaba\nacos\logback-adapter\1.1.3\logback-adapter-1.1.3.jar;D:\Maven\repository\com\alibaba\nacos\nacos-log4j2-adapter\2.4.2\nacos-log4j2-adapter-2.4.2.jar;D:\Maven\repository\commons-codec\commons-codec\1.16.1\commons-codec-1.16.1.jar;D:\Maven\repository\org\apache\httpcomponents\httpasyncclient\4.1.5\httpasyncclient-4.1.5.jar;D:\Maven\repository\org\apache\httpcomponents\httpcore-nio\4.4.16\httpcore-nio-4.4.16.jar;D:\Maven\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;
06-15
"C:\Program Files\Java\jdk-11\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8833,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" -javaagent:C:\Users\zwcddn\AppData\Local\JetBrains\IntelliJIdea2024.2\captureAgent\debugger-agent.jar=file:/C:/Users/zwcddn/AppData/Local/Temp/capture.props -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dfile.encoding=UTF-8 -classpath "E:\IdeaProjects\vertical-server\zwly-manage-admin\target\classes;E:\tools\maven\repository\org\springframework\boot\spring-boot-devtools\2.5.15\spring-boot-devtools-2.5.15.jar;E:\tools\maven\repository\org\springframework\boot\spring-boot\2.5.15\spring-boot-2.5.15.jar;E:\tools\maven\repository\org\springframework\spring-core\5.3.33\spring-core-5.3.33.jar;E:\tools\maven\repository\org\springframework\spring-jcl\5.3.33\spring-jcl-5.3.33.jar;E:\tools\maven\repository\org\springframework\spring-context\5.3.33\spring-context-5.3.33.jar;E:\tools\maven\repository\org\springframework\spring-beans\5.3.33\spring-beans-5.3.33.jar;E:\tools\maven\repository\org\springframework\spring-expression\5.3.33\spring-expression-5.3.33.jar;E:\tools\maven\repository\org\springframework\boot\spring-boot-autoconfigure\2.5.15\spring-boot-autoconfigure-2.5.15.jar;E:\tools\maven\repository\org\apache\poi\poi-ooxml\5.2.3\poi-ooxml-5.2.3.jar;E:\tools\maven\repository\org\apache\poi\poi\5.2.3\poi-5.2.3.jar;E:\tools\maven\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;E:\tools\maven\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;E:\tools\maven\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;E:\tools\maven\repository\org\apache\poi\poi-ooxml-lite\5.2.3\poi-ooxml-lite-5.2.3.jar;E:\tools\maven
03-14
D:\tools\java\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:E:\yuyan\IntelliJ IDEA\IntelliJ IDEA 2024.3.1.1\lib\idea_rt.jar=52998:E:\yuyan\IntelliJ IDEA\IntelliJ IDEA 2024.3.1.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\code\Vue3\ShangKe\2025-3\AlumniSys\target\classes;D:\tools\Maven\local\org\springframework\boot\spring-boot-starter-web\3.4.3\spring-boot-starter-web-3.4.3.jar;D:\tools\Maven\local\org\springframework\boot\spring-boot-starter\3.4.3\spring-boot-starter-3.4.3.jar;D:\tools\Maven\local\org\springframework\boot\spring-boot\3.4.3\spring-boot-3.4.3.jar;D:\tools\Maven\local\org\springframework\boot\spring-boot-autoconfigure\3.4.3\spring-boot-autoconfigure-3.4.3.jar;D:\tools\Maven\local\org\springframework\boot\spring-boot-starter-logging\3.4.3\spring-boot-starter-logging-3.4.3.jar;D:\tools\Maven\local\ch\qos\logback\logback-classic\1.5.16\logback-classic-1.5.16.jar;D:\tools\Maven\local\ch\qos\logback\logback-core\1.5.16\logback-core-1.5.16.jar;D:\tools\Maven\local\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;D:\tools\Maven\local\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;D:\tools\Maven\local\org\slf4j\jul-to-slf4j\2.0.16\jul-to-slf4j-2.0.16.jar;D:\tools\Maven\local\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\tools\Maven\local\org\yaml\snakeyaml\2.3\snakeyaml-2.3.jar;D:\tools\Maven\local\org\springframework\boot\spring-boot-starter-json\3.4.3\spring-boot-starter-json-3.4.3.jar;D:\tools\Maven\local\com\fasterxml\jackson\core\jackson-databind\2.18.2\jackson-databind-2.18.2.jar;D:\tools\Maven\local\com\fasterxml\jackson\core\jackson-annotations\2.18.2\jackson-annotations-2.18.2.jar;D:\tools\Maven\local\com\
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值