当前位置:网站首页>log factory (detail)
log factory (detail)
2022-08-01 18:21:00 【Small and cool】
文章目录
日志工厂
如果一个数据库操作,出现了异常,我们需要排错.日志就是最好的助手!
曾经:sout、debug
现在:日志工厂
- SLF4J
- STDOUT_LOGGING 【掌握】
- LOG4J(3.5.9 起废弃) 【掌握】
- LOG4J2
- JDK_LOGGING
- COMMONS_LOGGING
- NO_LOGGING
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
一、Implementation of standard logging
二、Log4j日志的配置
什么是Log4j?
1、先导入log4j的依赖包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2、创建 log4配置文件
在 resources 目录下创建 log4j.properties 文件,复制以下代码.
可根据自身需求,将 in the related settings of file outputlog4j.appender.file.File=./log/logFile.log
Change to your own log output path.
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file
#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/logFile.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
3、配置log4j为日志的实现
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
4、Log4j的使用
直接运行,即可!
简单使用,work needs!
1)在要使用log4j的类中,导入包 import org.apache.log4j.Logger;
2)日志对象,参数为当前类的class
//提升作用域
static Logger logger = Logger.getLogger(UserMapper.class);
3、日志级别
logger.info("info:进入了testLog4j");
logger.debug("debug:进入了testLog4j");
logger.error("error:进入了testLog4j");
边栏推荐
- MySQL关系型数据库事务的ACID特性与实现方法
- 483-82(23、239、450、113)
- QPalette palette, frame color fill
- C#/VB.NET: extracted from the PDF document all form
- opencv syntax Mat type summary
- Three solutions: npm WARN config global --global, --local are deprecated. Use --location=global instead.
- 【无标题】setInterval和setTimeout详解
- 用VS2013编译带boost库程序时提示 fatal error C1001: 编译器中发生内部错误
- 突破性能天花板!亚信数据库支撑 10 多亿用户,峰值每秒百万交易
- 【Day_12 0507】二进制插入
猜你喜欢
B005 - STC8 based single chip microcomputer intelligent street light control system
QT常用全局宏定义
QT_QThread线程
Multi-Party Threshold Private Set Intersection with Sublinear Communication-2021:解读
Leetcode73. Matrix Zeroing
el-form-item prop属性动态绑定不生效如何解决
暑假第二周总结博客
How to use the Golang coroutine scheduler scheduler
阿里云的域名和ip绑定
亚马逊云科技Build On2022技能提升计划第二季——揭秘出海爆款新物种背后的黑科技
随机推荐
【翻译】CNCF培养的OpenMetrics成为一个孵化项目
MySQL数据库————存储过程和函数
行业沙龙第二期丨如何通过供应链数字化业务协同,赋能化工企业降本增效?
阿里云的域名和ip绑定
Map by value
opencv语法Mat类型总结
1065 A+B and C (64bit)
Detailed explanation of DBPack SQL Tracing function and data encryption function
Leetcode72. Edit Distance
C language theory--a solid foundation for the written test and interview
COS 用户实践征文
What is the JVM runtime data area and the JMM memory model
QT_事件类
QT_Event class
【Day_08 0426】两种排序方法
顺序表的简单描述及代码的简单实现
Go iota关键字与枚举类型实现原理是什么
【Day_10 0428】井字棋
explain 各字段介绍
LeetCode 1374.生成每种字符都是奇数个的字符串