log4j2升级为logback,logback+slf4jcommons-logging+Jboss-logging(SSH项目)

本文详述了如何在SSH项目中将日志组件从log4j2升级到logback,涉及组件替换、logback与slf4j、commons-logging及Jboss-logging的集成,重点解决了日志输出、Spring日志问题和Jboss-logging配置调整。

Java日志 - log4j2升级为logback,涉及commons-logging、slf4j、Jboss-logging日志组件(SSH项目)

1 前言

SSH框架中已集成log4j2,因为要通过kafka接入elk,因为接入demo采用的是logback作为日志组件,所以需要将日志组件改为logback,由logback生产日志发送给kafka,接入到elk。因为SSH框架老旧,改造中又涉及到的日志工具:lagback、log4j2、commons-logging、slf4j、jboss-logging,遇到较多问题,因此梳理出了改造过程。

关于java各日志工具的解释、jar包关系可以看,或者是log4j改造为logback,可以结合两篇文章参考:log4j升级为log4j2,log4j2+slf4j+commons-logging+Jboss-logging(SSH项目)

slf4j 与 logback 集成可能的改造点

  • log4j2 日志工具相关依赖删除
  • 保留slf4j与commons-logging, commons-logging委托给slf4j
  • 保留Jboss-logging与slf4j集成,Jboss-logging是自动匹配log4j,可能要搭建Jboss -> slf4j -> logback 的桥梁
  • 增加logback相关依赖,搭建slf4j->logback,logback作为日志实现

2 改造步骤及问题解决(log4j2升级至logback)

2.1 日志实现工具的替换:log4j2移除,替换为logback

  • 删除log4j1依赖及配置文件:log4j2.xml、log4j-api-2.11.0.jar、log4j-core-2.11.0.jar
  • 增加logback的依赖:logback-classic-1.2.3.jar,logback-core-1.2.3.jar
  • 增加logback的配置文件:logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!-- 日志输出格式定义 -->
    <property name="LOG_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} - %X{hotel} - %X{userName} %-5level %logger{50} - %msg%n"/>
    <!-- 日志输出文件性格定义 -->
    <Property name="LOG_FILE_PATH" value="${catalina.home}/projectName_log"/>
    <Property name="ARCHIVE_LOG_FILE_PATH" value="${LOG_FILE_PATH}/archiveLog"/>

    <!--输出到控制台-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值