输出语句 | 日志 | |
输出位置 | 只能是控制台 | 可以将日志信息写入文件或数据库中 |
取消日志 | 需要修改代码,灵活性差 | 只需修改日志文件 |
多线程 | 性能较差 | 性能较好 |
日志规范接口:Commons Logging(JCL)、Simple Logging Facade for Java(slf4j)
日志实现框架:Log4j、JUL(java.util.logging)、Logback、其它实现
Logback
Logback是基于slf4j的日志规范实现的框架,性能比log4j要好
主要分为三个技术模块:
- logback-core:基础模块,为其它两个模块提供基础代码
- logback-classic:功能模块,完整实现了slf4j API的模块
- logback-access:模块与Tomcat和Jetty等Servlet容器集成,以提供HTTP访问日志功能
如何使用
- 在项目下新建文件夹lib,导入logback相关的jar包到该文件夹中
- 添加到项目依赖库。(右击lib文件夹,找到Add as Library,再点击ok)
- 将Logback的核心配置文件logback.xml(去官方下载)直接拷贝到src目录下
- 在代码中获取日志的对象,然后使用日志对象方法记录系统的日志信息
public static final Logger LOGGER=LoggerFactory.getLogger(类对象xxx.class); public static void main(String[] args){ LOGGER.debug("这是日志"); }
在logback.xml中
输出到控制台的配置标志
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
输出到系统文件的配置标志
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
若不想记录日志:可以通过设置日志的输出级别来控制哪些日志信息输出或者不输出
级别程度依次是:TRACE< DEBUG< INFO<WARN<ERROR ; 默认级别是debug(忽略大小写),对应其方法。
作用:用于控制系统中哪些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。
ALL 和 OFF分别是打开全部日志信息,及关闭全部日志信息。
在<root level=“INFO”>标签的level属性中设置日志级别。
<root level=“INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE" />
</root>