因为学Spring发现有盲区,只能趁年轻,慢慢扫盲了,该篇博客主要是将关于log4j这个开源日志记录工具,说实话,日志这东西真没用过,然而现在发现各种项目都要牵扯。所以学完写写总结吧
一、日志作用
- 主要用来记录系统运行中的一些重要操作信息
- 便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因
二、日志分类
- SQL日志
- 异常日志
- 业务日志
三、log4j开源日志记录工具
其实JDK本身就提供了日志记录工具,但是log4j更加强大。所以学习log4j
log4j作用
- 控制日志的输出级别
- 控制日志信息输送的目的地是控制台、文件等
- 控制每一条日志的输出格式
四、使用log4j记录日志步骤
- 在项目中加入log4j相关的jar(log4j-1.2.17.jar和commons-logging.jar)
- 创建log4j.properties文件==>在src下创建
- 配置日志信息
- 使用log4j记录日志信息
log4j.properties下的配置
### 设置Logger输出级别和输出目的地(debug为输出级别,stdout和logfile是输出目的地控制台和文件)
log4j.rootLogger = debug , stdout , logfile
###输出级别:fatal>error>warn>info>debug(开发一般用最低级别,选择哪一级别,则输出时比它高级别的日志可以输出)
### 把日志信息输出到控制台
###日志信息输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
###信息打印在System.out
log4j.appender.stdout.Target = System.out
###指定日志布局类型
log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout
### 把日志信息输出到文件log.log
###日志信息写到文件中
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
###指定日志输出的文件中
log4j.appender.logfile.File = log.log
###指定转换模式
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
###指定日志布局类型(自定义)
log4j.appender.logfile.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %l%F%p %m%n
输出格式类型
- %p:输出日志信息优先级,即Debug,Info,Warn,Error,Fatal
- %d:输出日志时间点或日期
- %r:输出自应用启动到输出该log信息耗费的毫秒数
- %l:输出日志事件的发生位置,包括类名,发生的线程,以及在代码中的行数
- %F:输出日志消息产生时所在的文件名称
- %L:输出代码中的行号
- %m:输出代码中指定的消息,产生的日志具体信息
- %n:输出一个回车换行符,输出日志信息换行
五、测试
log4jTest.java
package log4jTset;
import org.apache.log4j.Logger;
public class log4jTest {
public static void main(String[] args) {
Logger log4j = Logger.getLogger(log4jTest.class);
log4j.debug("log4j的debug");
log4j.error("log4j的error");
System.out.println("hello");
}
}
控制台输出
log.log文件输出
最后看下各个文件具体位置