Java 日志

日志就是为了将程序的运行状况保存到文件中去。

命名的一个小细节:

比如把信息保存到文件中这个方法的名字可以写为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。

代码:

java 复制代码
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分别是打开全部日志和关闭全部日志。

相关推荐
235168 小时前
【MySQL】慢查寻的发现和解决优化(思维导图版)
java·后端·sql·mysql·职场和发展·数据库开发·数据库架构
面向星辰8 小时前
windows配置hadoop环境
java·开发语言
小超嵌入式笔记8 小时前
【Keil5教程及技巧】耗时一周精心整理万字全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】
java·数据库·mongodb
初级程序员Kyle9 小时前
开始改变第一天 JVM的原理到调优(4)
java·后端
G果9 小时前
安卓APP页面之间传参(Android studio 开发)
android·java·android studio
我是天龙_绍9 小时前
java 类 静态和非静态说明
java·后端
Elieal9 小时前
Java的Collection 集合体系详解
java·开发语言
青衫码上行10 小时前
【Java Web学习 | 第1篇】前端 - HTML
java·前端·学习
阿金要当大魔王~~10 小时前
uniapp img 动态渲染 的几种用法
java·服务器·前端·1024程序员节
摸鱼的老谭10 小时前
Java 25 中的最佳新特性
java·1024程序员节