logback使用详解
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使用详解相关推荐
- logback配置文件详解
logback配置文件详解 <?xml version="1.0" encoding="UTF-8"?> <!-- 根节点 , logback ...
- logback 配置详解(一)configuration and logger
详细整理了logback常用配置 不是官网手册的翻译版,而是使用总结,旨在更快更透彻的理解其配置 logback 简介 logback常用配置详解(一)<configuration> an ...
- springboot2.0日志配置 logback的使用和logback.xml详解
logback的使用和logback.xml详解写的非常详细. 只根据上面的我们会发现,日志要么输出到文件.要么输出到控制台不能有选择的输出满足我们的要求,这是需要看下面这个文章, 多个xml路径,有 ...
- slf4j log4j logback关系详解和相关用法 【by Sinte-Beuve】
slf4j log4j logback关系详解和相关用法 slf4j log4j logback的关系 The Simple Logging Facade for Java是什么? log4j和log ...
- logback的使用和logback.xml详解
一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...
- logback的使用和logback.xml详解[转]
一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...
- logback配置文件详解_Log4j2使用详解
日志框架简单比较(slf4j.j.u.l.log4j.logback.log4j2 ) slf4j:slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立 ...
- logback配置文件---logback.xml详解
一.参考文档 1.官方文档 http://logback.qos.ch/documentation.html 2.博客文档 http://www.cnblogs.com/warking/p/57103 ...
- spring boot项目中使用logback日志详解
1. spring boot中的默认日志 SpringBoot为Java Util Logging,Log4J2和Logback提供了默认配置.SpringBoot默认配置日志输出到控制台,同时还提供 ...
- Logback 使用详解
文章目录 简单使用 默认配置 日志配置 日志级别 日志格式 配置文件结构 整体结构 configuration appender 属性:`class = ch.qos.logback.core.Con ...
最新文章
- ​EMNLP 2021 最新综述:语言模型中的关系性知识
- 绝对布局优势_前瞻布局+尖端科技+雄厚资金 恒大解锁造车的“正确姿势”
- laravel 错误与日志
- 手把手教你获取、编译和调试Flink的源代码
- idea使用activiti插件
- 聊聊我对写好程序的认识
- Leetcode 199
- mac 安装php swoole扩展
- 403. Frog Jump
- CocoStuff—基于Deeplab训练数据的标定工具【二、用已提供的标注数据跑通项目】...
- URI和URL的区别比较与理解
- 视频监控直播项目经验总结
- 读入一句话(一行文本),统计26个大写字母各自出现的次数。(java)
- NNabla:索尼开源的一款神经网络框架
- word插入图表目录的时候同时插入了原图的解决办法
- 电子工程师必备的调试神器—H7-TOOL
- obsidian vim模式切换输入法
- ubuntu16.04纯净系统配置安装集锦
- 网页设计(六)——基于HTML+CSS框架的网页设计实例
- 全志Tina Linux Camera 摄像头模块开发指南 全网最详细版本支持百问网T113-Pro DongshanPI-NezhaD1-H DongshanPI-D1s V853-Pro等开发板