Java012-Logback日志框架下载、使用以及日志级别
一、Logback下载
一般情况,Logback日志框架只需要下载slf4j-api、logback-core、logback-classic这三个jar包即可。
(一)快捷下载方法
slf4j-api-1.7.26.jar官网下载链接:
https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/ logback-core-1.2.3.jar官网下载链接:
https://repo1.maven.org/maven2/ch/qos/logback/logback-core/1.2.3/
logback-classic-1.2.3.jar官网下载链接:
https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/
(二)具体下载方法
Logback官网:https://logback.qos.ch/
1)slf4j-api下载
进入Logback官网,下拉,点击SLF4J API,进入SLF4J官网(https://www.slf4j.org/);
点击箭头,出现菜单,点击Download,进入相关网页;
点击Maven central,进入下载网页;
选择点击slf4j-api;
选择合适的版本,如点击1.7.26/
点击slf4j-api-1.7.26.jar包,即可直接下载。
2)logback-core下载
进入Logback官网,点击箭头,再点击Download,进入相应网页;
下拉,点击Maven central,进入相关网页;
点击logback-core/,进入版本选择网页;
选择合适的版本,并点击进入,如点击1.2.3/进入;
选择并点击这类jar包即可完成下载,如点击logback-core-1.2.3.jar即下载完成logback-core
3)logback-classic下载
进入Logback官网,点击箭头,再点击Download,进入相应网页;
下拉,点击Maven central,进入相关网页;
点击logback-classic,进入版本选择网页;
选择合适的版本,并点击进入,如点击1.2.3/进入;
选择并点击这类jar包即可完成下载,如点击logback-classic-1.2.3.jar即下载完成logback-classic。
全部下载完成后,得到以下三个jar包。
二、Logback简单使用
1)在项目下新建文件夹lib,导入Logback的相关jar包到该文件夹下,并添加到项目依赖库中去。
右键点击模块名,点击new,点击Directory,新建文件夹lib(lib与src并列);
将下载到的三个jar包全部赋值粘贴到lib文件夹中;
全选这三个jar包,右键,点击Add as Library…
成功添加jar包到项目依赖库中,会出现这种箭头。
2)将Logback的核心配置文件logback.xml直接拷贝到src目录下(必须是src目录下)。
若已有logback.xml文档,则直接拷贝到src目录下;
若没有logback.xml文档,则创建一个即可,具体方法如下:在桌面新建一个文档;
打开新建文本文档,将以下内容复制粘贴到文档中(其中,日志文件的输出地址需修改成自己的)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- CONSOLE :表示当前的日志信息是可以输出到控制台的 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--输出流对象 默认 System.out 改为 System.err 其中err:控制台输出日志为红色,而out为黑色-->
<target>System.out</target>
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n</pattern>
</encoder>
</appender>
<!-- File:表示当前的日志信息是可以输出到文件的 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!--日志输出路径(logback_message.log是文档名,下方还有一处文件名(不用写.log))-->
<file>F:\IdeaAllCode\logInformation\test01\logback_message.log</file>
<!--指定日志文件拆分和压缩规则(防止文件过大)-->
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--通过指定压缩文件名称,来确定分割文件方式-->
<fileNamePattern>F:\IdeaAllCode\logInformation\test01\logback_message-%d{yyyy-MMdd}.log%i.gz</fileNamePattern>
<maxFileSize>1MB</maxFileSize> <!--文件拆分大小-->
</rollingPolicy>
</appender>
<!--
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF (关掉), 默认debug(可忽略大小写)
<root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
-->
<root level="INFO"> <!--打印规则:只打印不低于当前级别的日志-->
<appender-ref ref="CONSOLE"/> <!--如果这个地方不配置关联打印的位置,改位置将不会记录日志-->
<appender-ref ref="FILE" />
</root>
</configuration>
将新建文本文档.txt改名为logback.xml
将该logback.xml文档复制粘贴到src文件夹下。
3)在代码中获取日志的对象与使用
获取日志对象Logger logger = LoggerFactory.getLogger(“类名”); 一般在类名后加.class
//一般将日志对象定义成常量
public static final Logger LOGGER = LoggerFactory.getLogger("LogbackTest.class");//类名一般写类名.class
public static void main(String[] args) {
LOGGER.error("出错啦error");
LOGGER.warn("警告!warn");
LOGGER.info("收账啦info");
LOGGER.debug("没出错!debug");
LOGGER.trace("跟踪中trace");
}
4)使用日志对象输出日志信息
在控制台中输出
在日志文件中输出
三、日志输出级别
level可等于TRACE、DEBUG、INFO、WARN、ERROR、ALL、OFF或不写。
作用:用于控制系统中哪些日志级别是可输出的。
规则:
1)级别:TRACE<DEBUG<INFO<WARN<ERROR(可以忽略大小写);
2)默认级别是debug(即可不写level=“DEBUG”);
3)只输出不低于当前级别的日志;
4)ALL和OFF分别是打开全部日志和关闭全部日志。