当前位置: 首页>编程语言>正文

【Log4j漏洞】log4j换成logback

突发的log4j漏洞,导致了程序员加班加点的进行log4j版本的升级,logback它不香吗?

今天就把log4j服务升级为logback服务,以springboot项目为例,我们可以执行以下步骤:

一,剔除原有的log4j

1,在pom.xml中删除log4j的引用
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
2,删除resources的log4j文件

删除名为【Log4j漏洞】log4j换成logback,\color{red}{log4j2.xml},第1张的文件

二,添加新的logback

1,在pom.xml中删除logback的引用
<dependency>
    <groupId>ch.qos.logback</groupId>
     <artifactId>logback-core</artifactId>
  </dependency>

<dependency>
     <groupId>ch.qos.logback</groupId>
     <artifactId>logback-access</artifactId>
 </dependency>

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

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
</dependency>
2.添加resources下的logback文件

新增名为【Log4j漏洞】log4j换成logback,\color{red}{logback.xml},第2张的文件

3.logback.xml的文件内容
<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

    <!-- 控制台输出 -->

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

            <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

        </encoder>

    </appender>

    <!-- 文件输出 -->

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <file>logs/server.log</file>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

            <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <FileNamePattern>logs/server.log.%d{yyyy-MM-dd}.log</FileNamePattern>

        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

            <MaxFileSize>200MB</MaxFileSize>

        </triggeringPolicy>

    </appender>

    <!-- 日志输出级别 -->

    <root level="INFO">

        <appender-ref ref="CONSOLE" />

        <appender-ref ref="FILE" />

    </root>

</configuration>

三,闲聊logback

1,logback的内容
  • logback是一款开源日志组件,其的官网为:http://logback.qos.ch
  • 包含logback-core,logback-classic,logback-access三个重要的模块
2,logback的优势
  • 性能高,内存小
  • 充分的官方文档
  • 自动装载配置文件
  • 自动压缩或删除日志文件
3,logback的默认配置
  • 会找 logback-test.xml 和 logback.xml 文件,如果存在则执行相应配置
  • 如果找不到配置文件,默认会调用BasicConfigurator创建最小化配置

https://www.xamrdz.com/lan/5cq2016237.html

相关文章: