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

相关推荐
linweidong1 分钟前
C++大型系统中如何组织头文件和依赖树?
java·c++·架构
鹿角片ljp8 分钟前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode
pengweizhong12 分钟前
Dynamic‑SQL2 查询篇:MyBatis 增强利器,让 SQL 像写 Java 一样丝滑
java·sql·教程
Remember_99313 分钟前
【数据结构】深入理解优先级队列与堆:从原理到应用
java·数据结构·算法·spring·leetcode·maven·哈希算法
Leo July24 分钟前
【Java】Spring Cloud 微服务生态全解析与企业级架构实战
java·spring cloud
Marktowin40 分钟前
SpringBoot项目的国际化流程
java·后端·springboot
墨雨晨曦881 小时前
2026/01/20 java总结
java·开发语言
汤姆yu1 小时前
基于springboot的直播管理系统
java·spring boot·后端
a努力。1 小时前
虾皮Java面试被问:分布式Top K问题的解决方案
java·后端·云原生·面试·rpc·架构
黎雁·泠崖1 小时前
Java字符串入门:API入门+String类核心
java·开发语言·python