輸出語句 | 日志 | |
輸出位置 | 只能是控制臺 | 可以將日志信息寫入文件或數據庫中 |
取消日志 | 需要修改代碼,靈活性差 | 只需修改日志文件 |
多線程 | 性能較差 | 性能較好 |
日志規范接口: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>