客户端
- 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>