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

相关推荐
majingming1237 小时前
FUNCTION
java·前端·javascript
zopple7 小时前
常见的 Spring 项目目录结构
java·后端·spring
xuxie999 小时前
N11 ARM-irq
java·开发语言
cjy0001119 小时前
springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
java·spring boot·后端
wefly20179 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
zhenxin01229 小时前
Spring Boot实现定时任务
java
小江的记录本9 小时前
【事务】Spring Framework核心——事务管理:ACID特性、隔离级别、传播行为、@Transactional底层原理、失效场景
java·数据库·分布式·后端·sql·spring·面试
sheji341610 小时前
【开题答辩全过程】以 基于springboot的校园失物招领系统为例,包含答辩的问题和答案
java·spring boot·后端
寂静or沉默10 小时前
2026最新Java岗位从P5-P7的成长面试进阶资源分享!
java·开发语言·面试
卓怡学长10 小时前
m289在线交友系统
java·spring·tomcat·maven·intellij-idea·hibernate