Java日志 迈不过友情╰ 2023-09-28 22:08 24阅读 0赞 ![在这里插入图片描述][180b12765177441f8b341de0646251b5.png_pic_center] ### Java日志 ### > 本篇主要讲述了Java日志的基础知识。 #### 1、概述 #### * 概述 程序中的日志可以用来记录程序在运行的时候点点滴滴,并可以进行永久存储。 * 日志与输出语句的区别 <table> <thead> <tr> <th></th> <th>输出语句</th> <th>日志技术</th> </tr> </thead> <tbody> <tr> <td>取消日志</td> <td>需要修改代码,灵活性比较差</td> <td>不需要修改代码,灵活性比较好</td> </tr> <tr> <td>输出位置</td> <td>只能是控制台</td> <td>可以将日志信息写入到文件或者数据库中</td> </tr> <tr> <td>多线程</td> <td>和业务代码处于一个线程中</td> <td>多线程方式记录日志,不影响业务代码的性能</td> </tr> </tbody> </table> #### 2、日志体系结构和logback #### * 日志体系结构 ![在这里插入图片描述][b8bb8e8cce6d4b969556fb482072d395.png] * logback 通过使用logback,我们可以控制日志信息输送的目的地是控制台、文件等位置。 我们也可以控制每一条日志的输出格式。 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 #### 3、入门案例【应用】 #### ##### 3.1、使用步骤 ##### 1. 导入logback的相关jar包 2. 编写logback配置文件 3. 在代码中获取日志的对象 4. 按照级别设置记录日志信息 // 测试类 public class Test { // 获取日志的对象 private static final Logger LOGGER = LoggerFactory.getLogger(Test01.class); public static void main(String[] args) { // 1.导入jar包 //2.编写配置文件 //3.在代码中获取日志的对象 //4.按照日志级别设置日志信息 LOGGER.debug("debug级别的日志"); LOGGER.info("info级别的日志"); LOGGER.warn("warn级别的日志"); LOGGER.error("error级别的日志"); } } ##### 3.2、代码示例 ##### `logback.xml` <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- CONSOLE :表示当前的日志信息是可以输出到控制台的。 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <!--输出流对象 默认 System.out 改为 System.err--> <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> <!--日志输出路径--> <file>C:/code/itheima-data.log</file> <!--指定日志文件拆分和压缩规则--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--通过指定压缩文件名称,来确定分割文件方式--> <fileNamePattern>C:/code/itheima-data2-%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="DEBUG"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE" /> </root> </configuration> `LogDemo.java` import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Scanner; public class { //获取日志对象 private static final Logger LOGGER = LoggerFactory.getLogger(LogDemo.class); public static void main(String[] args) { //打日志 --- 类似于写输出语句 Scanner sc = new Scanner(System.in); System.out.println("请输入您的姓名"); LOGGER.debug("用户开始输入信息了"); String name = sc.nextLine(); //System.out.println(name); LOGGER.info("用户输出录入姓名为:" + name); System.out.println("请输入您的年龄"); String age = sc.nextLine(); try { int ageInt = Integer.parseInt(age); LOGGER.info("用户输入的年龄格式正确" + age); } catch (NumberFormatException e) { LOGGER.info("用户输入的年龄格式错误" + age); } } } [180b12765177441f8b341de0646251b5.png_pic_center]: https://img-blog.csdnimg.cn/180b12765177441f8b341de0646251b5.png#pic_center [b8bb8e8cce6d4b969556fb482072d395.png]: https://img-blog.csdnimg.cn/b8bb8e8cce6d4b969556fb482072d395.png
相关 Java中日志 日志的优势 <table> <tbody> <tr> <td style="vertical-align:top;width:142pt;"> 你的名字/ 2024年03月24日 16:10/ 0 赞/ 31 阅读
相关 MySQL — 日志、错误日志、二进制日志、查询日志、慢查询日志 文章目录 日志 一、错误日志 二、二进制日志 2.1 介绍 2.2 格式 2.3 查看二进制日志 蔚落/ 2024年03月16日 11:30/ 0 赞/ 84 阅读
相关 Java日志 > 本节主要是介绍了各种日志的分类情况,并没有作具体实现。 文章目录 一、为什么使用日志? 二、使用 JDK Logging 阳光穿透心脏的1/2处/ 2023年10月03日 19:54/ 0 赞/ 68 阅读
相关 Java日志 ![在这里插入图片描述][180b12765177441f8b341de0646251b5.png_pic_center] Java日志 > 本篇主要讲述了Java日志 迈不过友情╰/ 2023年09月28日 22:08/ 0 赞/ 25 阅读
相关 java错误日志 1. int j =100; try { int i = 10/0; } catch (Exception e) { 绝地灬酷狼/ 2023年07月21日 08:50/ 0 赞/ 24 阅读
相关 日志 <div id="article_content" class="article_content tracking-ad" data-mod="popu_307" da Bertha 。/ 2022年06月08日 23:45/ 0 赞/ 253 阅读
相关 Java循环日志 现在大多情况下都使用日志组件,比如log4j、log4j2,这些组件的好处是比较通用,同时鉴于软件开发中的拿来主义,尽量用现成的代码减小工作任务,同时公用的框架能避免自己花大量 朱雀/ 2022年05月13日 14:22/ 0 赞/ 180 阅读
相关 日志 日志挂载命令 web: mount -t nfs 192.168.0.1:/opt/tomcat-xxxweb /mnt/xxx\_log/online 迈不过友情╰/ 2022年05月10日 11:12/ 0 赞/ 303 阅读
相关 java项目日志 近来和别的公司对接接口,人家调用接口之后,我这边没有任何返回信息,我看后台日志(log)进入方法了,没报任何错误,但没有任何返回信息打出,一时间不知道从哪下手,不知道哪的问题。 墨蓝/ 2021年12月03日 13:59/ 0 赞/ 262 阅读
相关 Java_JDK_日志 Java\_JDK\_日志 简述 实现 项目统一调用接口Log 核心实现-Log4j 核心实现-JDK 快来打我*/ 2021年10月06日 04:34/ 0 赞/ 321 阅读
还没有评论,来说两句吧...