log4j替换成logback

移除相关依赖

<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId>
</dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId>
</dependency>

添加logback依赖

<!-- 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>
<!-- logback日志配置结束 -->

spring中使用logback日志组件替换log4j

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
/** * @author Kiven Lee * @version 1.0 */
public class LogbackConfigListener implements ServletContextListener {  private static final Logger logger = LoggerFactory.getLogger(LogbackConfigListener.class);  private static final String CONFIG_LOCATION = "logbackConfigLocation";  @Override  public void contextInitialized(ServletContextEvent event) {  //从web.xml中加载指定文件名的日志配置文件  String logbackConfigLocation = event.getServletContext().getInitParameter(CONFIG_LOCATION);  String fn = event.getServletContext().getRealPath(logbackConfigLocation);  try {  LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();  loggerContext.reset();  JoranConfigurator joranConfigurator = new JoranConfigurator();  joranConfigurator.setContext(loggerContext);  joranConfigurator.doConfigure(fn);  logger.debug("loaded slf4j configure file from {}", fn);  }  catch (JoranException e) {  logger.error("can loading slf4j configure file from " + fn, e);  }  }  @Override  public void contextDestroyed(ServletContextEvent event) {  }
}

在web.xml中加入

<!--初始化日志配置文件 -->  <listener>  <listener-class>  com.boaotech.util.LogbackConfigListener  </listener-class>  </listener>  <context-param>  <param-name>logbackConfigLocation</param-name>  <param-value>WEB-INF/logback.xml</param-value>  </context-param>

logback配置文件两份

logback配置一

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg  %n</pattern></encoder></appender><!-- 按照每天生成日志文件 --><appender name="logFile"  class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>log/runtime.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="console" /><appender-ref ref="logFile" /></root><logger name="com.crecgec" level="DEBUG" additivity="false"><appender-ref ref="console"/><appender-ref ref="logFile" /></logger></configuration>

logback配置二

<?xml version="1.0" encoding="UTF-8" ?><configuration><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></layout></appender><appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></encoder><!--滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路径--><fileNamePattern>D:/log/logbackInfo.%d.log</fileNamePattern></rollingPolicy></appender><appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></encoder><!--滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路径--><fileNamePattern>D:/log/logbackError.%d.log</fileNamePattern></rollingPolicy></appender><root level="INFO"><appender-ref ref="consoleLog"/><appender-ref ref="fileInfoLog"/><appender-ref ref="fileErrorLog"/></root>
</configuration>

logback使用详解相关推荐

  1. logback配置文件详解

    logback配置文件详解 <?xml version="1.0" encoding="UTF-8"?> <!-- 根节点 , logback ...

  2. logback 配置详解(一)configuration and logger

    详细整理了logback常用配置 不是官网手册的翻译版,而是使用总结,旨在更快更透彻的理解其配置 logback 简介 logback常用配置详解(一)<configuration> an ...

  3. springboot2.0日志配置 logback的使用和logback.xml详解

    logback的使用和logback.xml详解写的非常详细. 只根据上面的我们会发现,日志要么输出到文件.要么输出到控制台不能有选择的输出满足我们的要求,这是需要看下面这个文章, 多个xml路径,有 ...

  4. slf4j log4j logback关系详解和相关用法 【by Sinte-Beuve】

    slf4j log4j logback关系详解和相关用法 slf4j log4j logback的关系 The Simple Logging Facade for Java是什么? log4j和log ...

  5. logback的使用和logback.xml详解

    一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...

  6. logback的使用和logback.xml详解[转]

    一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...

  7. logback配置文件详解_Log4j2使用详解

    日志框架简单比较(slf4j.j.u.l.log4j.logback.log4j2 ) slf4j:slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立 ...

  8. logback配置文件---logback.xml详解

    一.参考文档 1.官方文档 http://logback.qos.ch/documentation.html 2.博客文档 http://www.cnblogs.com/warking/p/57103 ...

  9. spring boot项目中使用logback日志详解

    1. spring boot中的默认日志 SpringBoot为Java Util Logging,Log4J2和Logback提供了默认配置.SpringBoot默认配置日志输出到控制台,同时还提供 ...

  10. Logback 使用详解

    文章目录 简单使用 默认配置 日志配置 日志级别 日志格式 配置文件结构 整体结构 configuration appender 属性:`class = ch.qos.logback.core.Con ...

最新文章

  1. ​EMNLP 2021 最新综述:语言模型中的关系性知识
  2. 绝对布局优势_前瞻布局+尖端科技+雄厚资金 恒大解锁造车的“正确姿势”
  3. laravel 错误与日志
  4. 手把手教你获取、编译和调试Flink的源代码
  5. idea使用activiti插件
  6. 聊聊我对写好程序的认识
  7. Leetcode 199
  8. mac 安装php swoole扩展
  9. 403. Frog Jump
  10. CocoStuff—基于Deeplab训练数据的标定工具【二、用已提供的标注数据跑通项目】...
  11. URI和URL的区别比较与理解
  12. 视频监控直播项目经验总结
  13. 读入一句话(一行文本),统计26个大写字母各自出现的次数。(java)
  14. NNabla:索尼开源的一款神经网络框架
  15. word插入图表目录的时候同时插入了原图的解决办法
  16. 电子工程师必备的调试神器—H7-TOOL
  17. obsidian vim模式切换输入法
  18. ubuntu16.04纯净系统配置安装集锦
  19. 网页设计(六)——基于HTML+CSS框架的网页设计实例
  20. 全志Tina Linux Camera 摄像头模块开发指南 全网最详细版本支持百问网T113-Pro DongshanPI-NezhaD1-H DongshanPI-D1s V853-Pro等开发板

热门文章

  1. TOMCAT下短信平台部署步骤
  2. ATEM 1 ME高级面板
  3. ios中html怎么横屏,iOS如何实现强制转屏、强制横屏和强制竖屏的实例代码
  4. 有关“树上剩余几只鸟”的问题的思考及解答
  5. 临床小白GEO 数据快速处理
  6. .Net Core 部署IIS,最细步骤
  7. OpenCV角点检测
  8. SpringAOP原理图解
  9. u点家庭服务器管理系统,u点家庭服务器
  10. pi节点0.4.7 incoming connections一直为0的解决方案