Skip to content

客户端

  • Snail Job 客户端要求JDK17,SpringBoot3.X。
  • log4j废弃不维护,版本过低,替代品log4j2。
  • log4j2 与 log4j 包不能同时引用(java.lang.NoClassDefFoundError: org/apache/log4j/MDC)。

一、Logback配置 maven依赖

bash
<dependency>
		<groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
</dependency>
<dependency>
		<groupId>ch.qos.logback</groupId>
  	<artifactId>logback-classic</artifactId>
</dependency>

二、配置文件 logback.xml

1、基础配置

bash
<?xml version="1.0" encoding="utf-8"?>

<configuration scan="false">
    <!-- 彩色日志格式 -->
    <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} %-4line){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr"
                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoder 默认配置为PatternLayoutEncoder -->
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- SnailLogback appender -->
    <appender name="snailLogbackAppender" class="com.aizuda.snailjob.client.common.appender.SnailLogbackAppender">
    </appender>

    <root level="debug">
        <appender-ref ref="console" />
        <appender-ref ref="snailLogbackAppender"/>
    </root>

</configuration>

一、Log4j2配置 maven依赖

bash
<dependency>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
  	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

二、配置文件 log4j2.xml

1、基础配置

bash
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Properties>
        <Property name="CONSOLE_LOG_PATTERN">
            %clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n
        </Property>
    </Properties>

    <Appenders>
        <!-- SnailLog4j2 appender -->
        <SnailLog4j2Appender name="SnailLog4j2Appender" ignoreExceptions="true" />

        <!-- Console appender -->
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="${CONSOLE_LOG_PATTERN}" />
        </Console>
    </Appenders>

    <Loggers>
        <Root level="info">
            <AppenderRef ref="console" />
            <AppenderRef ref="SnailLog4j2Appender"/>
        </Root>
    </Loggers>
</Configuration>