自定义日志颜色类

public class LogbackColorful extends ForegroundCompositeConverterBase<ILoggingEvent> {
    @Override
    protected String getForegroundColorCode(ILoggingEvent iLoggingEvent) {
        Level level = iLoggingEvent.getLevel();
        switch (level.toInt()) {
            //ERROR等级为红色
            case Level.ERROR_INT:
                return ANSIConstants.RED_FG;
            //WARN等级为黄色
            case Level.WARN_INT:
                return ANSIConstants.YELLOW_FG;
            //INFO等级为绿色
            case Level.INFO_INT:
                return ANSIConstants.GREEN_FG;
            //DEBUG等级为白色
            case Level.DEBUG_INT:
                return ANSIConstants.WHITE_FG;
            //其他为默认颜色
            default:
                return ANSIConstants.DEFAULT_FG;
        }
    }
}

logback配置

    <conversionRule conversionWord="customcolor" converterClass="com.zzvcom.live.config.LogbackColorful"/>


    <!-- 控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%cyan(%d{yyyy-MM-dd HH:mm:ss}) %customcolor(%-5level) %magenta(${PID:- }) %blue([%t]) %cyan(%logger{40}) : %customcolor(%msg) %n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

效果