日志就是为了将程序的运行状况保存到文件中去。
命名的一个小细节:
比如把信息保存到文件中这个方法的名字可以写为infoToFile,有个人为了偷懒,写成info2File,发现效果还挺好,一下就能分清两个单词,所以后续也就出现了用2代替To,4代替for,然后读的时候不读数字,还是原英文。
接下来详细学习日志:
我们主要学习如何使用Logback。
先来了解一下:
1、下载jar包
首先Logback是第三方写好的库,我们要使用的话先去官网下载对应的jar包,如何下载可以参考这个博客:Java012-Logback日志框架下载、使用以及日志级别_logback下载-CSDN博客
2、导包
首先创建一个Lib包,把3个jar包放到Lib包下,按住crtl不松,然后把3个jar包都点一个就可实现全选,最后Add as Library。
可以看到导入成功:
3、将Logback的核心配置文件logback.xml直接拷贝到src目录下(必须是src目录下)
介绍一下logback.xml文件的主要内容:
(1)CONSOLE表示日志信息输出到控制台。
(2)FILE则表示日志信息输出到文件在,与此同时就需要指明文件的路径。
日志文件的路径有些放到了C盘的路径下,可能C盘的权限比较高,IDEA是进不去的,所以可以改为权限较低的其他盘。
4、在代码中获取日志的对象与使用
获取日志对象Logger logger = LoggerFactory.getLogger(“类名”); 一般在类名后加.class。
代码:
public class Demo1 {
public static final Logger LOGGER = LoggerFactory.getLogger("Demo.class");
public static void main(String[] args) {
LOGGER.error("出错啦error");
LOGGER.warn("警告!warn");
LOGGER.info("收账啦info");
LOGGER.debug("没出错!debug");
LOGGER.trace("跟踪中trace");
}
}
输出结果,我这里只看到了控制台的日志信息,没有在硬盘下的目录中找到日志文件,也不知道为什么,不想找了。
关于第4步一些细节:
①在使用Logger对象的时候要注意是org.slf4j.Logger下的,如果导错了会有一些问题出现。
②日志对象用public修饰,是不能放到方法里面的,因为局部变量是不可以用权限修饰符的,所以将其放到外面作为成员变量就可以了。
5、日志的级别
有时候并不是所有的信息都想以日志的形式进行输出的,所以可以设置日志的输出级别。有5种级别,分别是TRACE<DEBUG<INFO<WARN<ERROR(可以忽略大小写),这是从大到小进行排列的效果。
logback.xml文件中level可等于TRACE、DEBUG、INFO、WARN、ERROR、ALL、OFF或不写。
(1)默认级别是debug(即可不写level=“DEBUG”);
(2)低于当前级别的信息是不进行输出的;
(3)ALL和OFF分别是打开全部日志和关闭全部日志。