1.概述
程序中的日志可以用来记录程序运行过程中的信息,可以永久保存
它可以将系统执行的信息下选择性的记录到指定位置(控制台,文件中,数据库里)
可以随时以开关的形式控制是否记录日志,无需修改代码
2.体系
3.logback日志框架
可以通过官网直接了解该框架技术
logback官网:
slf4j官网
其可分为三个模块:
- logback-core: logback-core 模块为其他两个模块奠定了基础,必须有。
- logback-classic: 它是log4j的一个改良版本,同时它完整实现了slf4jAPl。
- logback-access 模块与Tomcat 和Jetty等 Servlet 容器集成,以提供 HTTP 访向日志功能
4.logback快速入门
分析:
1.首先需要在项目中新建一个文件夹命名为lib(你也命名为其他),导入Logback的相关jar包到该文件夹下,并添加到项目依赖中
下载以下三个包
复制到idea中
添加依赖
在弹出的对话框中选择ok
2.将logback的核心配置文件logback.xml直接拷贝到src目录下(必须src下),可以去网上下载一搜差不多都有,嘿嘿
logback.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!-- Where are log files -->
<property name="LOG_HOME"
value="./" />
<!-- 配置输出到控制台 -->
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder
class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--%d:date,%thread:thread,%-5level:error/debug/info... %msg:message,%n:new
line -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n</pattern>
</encoder>
</appender>
<!-- 配置输出到文件中 -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>D:/logback/log.%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<maxFileSize>1000MB</maxFileSize>
<MaxHistory>60</MaxHistory>
</rollingPolicy>
<encoder
class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--%d:date,%thread:thread,%-5level:error/debug/info... %msg:message,%n:new
line -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}
-%msg%n</pattern>
</encoder>
</appender>
<!-- log level TRACE, DEBUG, INFO, WARN, ERROR, ALL and OFF,default:DEBUG. -->
<root level="ALL">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
3.在代码中获取日志对象
public static final Logger LOGGER = LoggerFactory.getLogger("类对象");
4.简单实现
import org.slf4j.LoggerFactory;
public class Test {
//创建Logger的日志对象,代表了日志技术
public static Logger LOGGER = LoggerFactory.getLogger("Test.class");
public static void main(String[] args) {
//开始打日志
LOGGER.info("main开始执行");
LOGGER.trace("main开始1执行");
LOGGER.error("main开始2执行");
}
}
5.Logback配置详解 -- 修改Logback.xml控制的
1.输出位置、格式设置
- 通过logback.xml中的<append>标签可以设置输出位置和日志信息的详细格式。
- 通常可以设置2个日志输出位置:一个是控制台、一个是系统文件中
输出到控制台的配置标志,都是固定的
<appender name="CONSOLE” class="ch.qos.logback,core,ConsoleAppender">
输出到系统文件的配置标志,都是固定的
<appender name="FILE"class="ch.qos.logback.core,rolling.RollingFileAppender">
2.日志级别
- 级别程度依次是:TRACE< DEBUG<INFO<WARN<ERROR;默认级别是debug (忽略大小写),对应其方法
- 作用: 用于控制系统中哪些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。
- ALL 和OFF分别是打开全部日志信息,及关闭全部日志信息。
error:错误日志
warn:警告日志
info:重要信息输出日志
debug:调试日志
trace:路径跟踪日志
设置位置
在<root level=“INFO”>标签的level属性中设置日志级别