首页 > 其他分享 >日志技术

日志技术

时间:2024-09-03 21:53:17浏览次数:11  
标签:技术 chu 日志 Logback public Logger LOGGER

概述

把程序运行的信息记录到文件中,方便程序员定位Bug,并了解程序的执行情况。

把系统执行的信息,方便的记录的指定的位置(控制台、文件、数据库)。

可以随时以开关的形式控制日志的启停,无需侵入到源代码中进行修改。

日志框架

日志技术_xml

日志技术_xml_02

(1)配置文件,将下面三个jar包导入到库

日志技术_System_03

(2)将Logback框架的核心文件logback.xml直接拷贝到src目录下

<?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>D:/java/rizhi/test.log</file>
        <!-- 指定日志文件拆分和压缩规则 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 通过指定压缩文件名,来确定分割文件方式 -->
            <fileNamePattern>D:/java/rizhi/test.log-%d{yyyy-MM-dd}.log%i.gz</fileNamePattern>
            <!-- 文件的最大大小 -->
            <maxFileSize>1MB</maxFileSize>
        </rollingPolicy>
    </appender>

    <!--
        1. 设置日志级别。
        2. 指定日志输出位置。
     -->
    <root level="ALL">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>

</configuration>

(3)创建Logback框架提供的Logger对象,然后用Logger对象调用其提供的方法就可以记录系统的日志信息。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class test {
    // 创建一个Logger日志对象
    public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");

    public static void main(String[] args) {
        try {
            LOGGER.info("chu方法开始执行啦~~~");
            chu(10, 0);
            LOGGER.info("chu方法执行成功~~~");
        } catch (Exception e) {
            LOGGER.error("chu方法执行失败了, 出现了bug~~~", e);
        }
    }

    public static void chu(int a, int b) {
        LOGGER.debug("参数a: " + a);
        LOGGER.debug("参数b: " + b);
        int c = a / b;
        LOGGER.debug("结果c: " + c);
    }
}

日志技术_xml_04

核心配置文件logback.xml

对Logback日志框架进行控制

日志技术_System_05

Logback设置日志级别

日志级别:日志信息的类型,日志都会分级别,常见级别如下(优先级越来越高)

日志技术_System_06

优点:

(1)方便查询日志

(2)

日志技术_xml_07

标签:技术,chu,日志,Logback,public,Logger,LOGGER
From: https://blog.51cto.com/u_16382144/11910801

相关文章

  • 关于ELK、ELFK、EFK日志分析平台
    ELK:传统的ELK系统由Elasticsearch、Logstash、Kibana组成,由于Logstash由java语言开发的,占用资源巨大。Logstash的占用的资源甚至比Web服务本身消耗的资源还大,因此在每台web服务器上安装Logstash不合适。ELFK:后来在web服务器上部署filebeat日志采集程序,Logstash单独部署在服务器。......
  • aws waf logs日志分析步骤
    1.waf设置AWSWAF----WebACLs----选择地区和规则--->Loggingandmetrics2.设置日志存放在s3中Editlogging---S3bucket----选择一个桶---save 3.在s3另外一个桶中新建目录waflogs4.修改官方配置官方配置:https://docs.aws.amazon.com/athena/latest/ug/create-waf-tab......
  • 基于SpringBoot技术的家具网站设计与实现
    你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。开发语言:Java数据库:MySQL技术:SpringBoot框架工具:Eclipse、Navicat系统展示首页家具详情界面购物车界面订单管理界面摘要随着移动互联网技术的深入发展,电子商务领域呈现出多元化方向,家具电商行业......
  • 观测云核心技术解密:eBPF Tracing 实现原理
    前言eBPF是一种强大的内核技术,允许在内核中安全地执行自定义代码。通过eBPF,开发者可以在不修改内核源码的情况下,对内核功能进行扩展和监控。eBPFTracing利用这一技术,对系统调用、内核函数等进行跟踪,从而实现对应用行为的深入洞察。与传统的监控方式相比,eBPFTracing具有以下......
  • 【精选报告】人工智能大语言模型发展技术研究2024(附PDF下载)
    前言2024年的《人工智能大语言模型技术发展研究报告》深入分析了大语言模型的技术进展、应用现状,并对其在多模态数据处理、自适应学习能力、可解释性算法、垂直行业定制及隐私保护等方面的未来发展趋势进行了展望。第一章大语言模型发展基石(一)软硬协同持续推动大模型能力提升(二)数......
  • 只有十几岁,能不能学黑客技术或网络安全?
     成为一个黑客,是很多人心里的梦,有的人只是想想,有的人付出行动。可以说不少爱好者都有这个想法,但是年龄太小,也不知道该不该学,接下来小编给你几点建议!1、学业不可弃放弃学业去学习一项技术,相信这种人已经越来越少了,无论你多热爱某个技术和爱好,黑客技术也好,你都不应该放弃你的......
  • 只有十几岁,能不能学黑客技术或网络安全?
     成为一个黑客,是很多人心里的梦,有的人只是想想,有的人付出行动。可以说不少爱好者都有这个想法,但是年龄太小,也不知道该不该学,接下来小编给你几点建议!1、学业不可弃放弃学业去学习一项技术,相信这种人已经越来越少了,无论你多热爱某个技术和爱好,黑客技术也好,你都不应该放弃你的......
  • 3. SpringBoot 整合第三方技术
    1.整合Junit一般来说是不需要进行处理的,因为在创建SpringBoot工程时,会自动整合junit​的要说怎么配置的话?也可以写一下相关的配置:以下就是SpringBoot整合Junit相关步骤导入相关依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-......
  • 【新书】掌握大语言模型:高级技术、应用、尖端方法和顶尖LLMs
    主要特性探索自然语言处理(NLP)基础和大语言模型基本原理,包括基础知识、挑战和模型类型。学习数据处理和预处理技术,以实现高效的数据管理。了解神经网络概述,包括神经网络基础、循环神经网络(RNNs)、卷积神经网络(CNNs)和变压器模型。利用大语言模型的策略和示例。描述通过强大的大语言模......
  • 人工智能大语言模型技术发展研究报告(2024年)|附49页PDF文件下载
    前言人工智能作为引领新一轮科技产业革命的战略性技术和新质生产力重要驱动力,正在引发经济、社会、文化等领域的变革和重塑,2023年以来,以ChatGPT、GPT-4为代表的大模型技术的出台,因其强大的内容生成及多轮对话能力,引发全球新一轮人工智能创新热潮,随着大模型技术演进、产品迭代日新......