龙空技术网

Java日志的基础知识你了解多少?

程序媛希希子 76

前言:

此时我们对“java教师日志教学反思”都比较讲究,兄弟们都需要分析一些“java教师日志教学反思”的相关内容。那么小编在网络上汇集了一些对于“java教师日志教学反思””的相关内容,希望你们能喜欢,我们快快来了解一下吧!

Java日志概述程序中的日志可以用来记录程序在运行的时候点点滴滴,并可以进行永久存储。日志与输出语句的区别输出语句日志技术取消日志需要修改代码,灵活性比较差不需要修改代码,灵活性比较好输出位置只能是控制台可以将日志信息写入到文件或者数据库中多线程和业务代码处于一个线程中多线程方式记录日志,不影响业务代码的性能2、日志体系结构和logback日志体系结构logback通过使用logback,我们可以控制日志信息输送的目的地是控制台、文件等位置。我们也可以控制每一条日志的输出格式。通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。3、入门案例【应用】3.1、使用步骤导入logback的相关jar包编写logback配置文件在代码中获取日志的对象按照级别设置记录日志信息

// 测试类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);      }  }}

标签: #java教师日志教学反思