java日志技术——Logback日志框架安装及概述

前言:

整理下学习笔记,打好基础,daydayup!!!

日志 

什么是日志

程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的各种信息,通过日志可以进行操作分析,bug定位等

 记录日志的方案

程序默认是将日志输入到控制台,但项目上线后,并没有控制台,且想要取消日志需要修改源代码才能进行,非常麻烦。所以将引入日志技术

日志技术 

日志技术可以将系统执行的信息,方便的记录到指定位置(控制台,文件中,数据库中),也可以随时开关控制日志的启停,无需侵入源代码中进行修改。

 日志技术的体系结构

日志框架:第三方公司或大佬做好的实现代码,主流为JUL,Log4j,Logback

日志接口:设计日志框架的一套标准,日志框架需要实现这些接口,主流接口有JCL,SLF4J

注:目前主流用Logback日志框架搭配SLF4J接口

Logback

Logback分为三个模块,logback-core(核心),logback-classic(经典)和logback-access(访问)。核心模块为其他两个模块奠定基础(必要模块);经典模块为功能核心,实现SLF4J-API(必要模块);访问模块为加强功能,如在http上访问日志等(非必要模块)

使用Logback需要哪些工具

需要核心模块,经典模块,SLF4J接口模块及Logback核心配置文件(默认带有)。如下图

 如何在IDEA中使用Logback

复制模块安装包,在所在的项目中进行黏贴,之后在在项目中添加到library(鼠标右键安装包,点击Add as Library)。最后把Logback核心配置文件放到src文件夹里(必须是src)

Logback配置文件解读

Logback会输出两份日志,一份输给控制台,一份输给本地文件

Logback日志级别

日志级别说明
trace追踪,指明程序运行轨迹
debug调试,实际应用中一般将其作为最低级,trace很少使用
info输出重要的运行信息(自行判断)
warn警告信息,可能会出现的问题
error错误信息

 Logback日志级别在核心文件中的设置

在程序中使用Logback框架

创建Logback框架提供的Logger对象,然后Logger对象调用其方法即可

public static final Logger 名字 =LoggerFactory.getLogger("日志名称")

 示例:(由于日志级别设定为info了,所以只输出info级别以上的数据)

整理结束,撒花!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/777375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见算法之快速排序

算法原理 快速排序是对冒泡排序的改进,采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素&…

构建一个包含mvn命令的Java 17基础镜像

前言 官方提供的openjdk基础镜像,不包含mvn命令,无法用容器来打包代码。 在官方提供的镜像基础上安装maven。 前期准备,需要安装好docker。 一、安装maven 1、下载openjdk基础镜像,执行如下代码。 docker pull openjdk:17-j…

Linux 进程信号:产生信号

目录 一、通过终端按键产生信号 1、signal()函数 2、核心转储 3、ulmit命令 二、调用系统函数向进程发信号 1、kill()函数 2、raise()函数 3、abort()函数 三、发送信号的过程 读端关闭、写端继续写入的情况 如何理解软件条件给进程发送信号: 四、软件条件产生信…

【力扣】210 课程表(c++)解析

具体参考 207&#xff0c;一模一样的题目只是最后多了学习课程的输出 &#xff0c;注意下深搜栈先入后出&#xff0c;最后输出需要reverse一下result 207题解: link class Solution { //dfs深度优先 private: //输入&#xff1a;课程数 课程关系prerequisitesvector<vecto…

伦敦金与纸黄金有什么区别?怎么选?

伦敦金与纸黄金都是与黄金相关的投资品种&#xff0c;近期黄金市场的上涨吸引了投资者的关注&#xff0c;那投资者想开户入场成为黄金投资者应该选择纸黄金还是伦敦金呢&#xff1f;两者有何区别呢&#xff1f;下面我们就来讨论一下。 伦敦金是一种起源于伦敦的标准化黄金交易合…

python 实现ini文件的section重复key的去重

问题&#xff1a; 如果ini文件中用 [read] action false action false [write] action false action False使用python实现 得到ini文件中用 [read] action false [write] action fals你可以使用Python中的基本文件操作和字符串处理来实现对INI文件中重复键的去重&a…

HarmonyOS实战开发-实现带有卡片的电影应用

介绍 本篇Codelab基于元服务卡片的能力&#xff0c;实现带有卡片的电影应用&#xff0c;介绍卡片的开发过程和生命周期实现。需要完成以下功能&#xff1a; 元服务卡片&#xff0c;用于在桌面上添加2x2或2x4规格元服务卡片。关系型数据库&#xff0c;用于创建、查询、添加、删…

FMEA的本质——FMEA软件

免费试用FMEA软件-免费版-SunFMEA FMEA&#xff0c;即故障模式与影响分析&#xff08;Failure Modes and Effects Analysis&#xff09;&#xff0c;是一种预防性的质量工具&#xff0c;广泛应用于各种行业和领域&#xff0c;特别是在制造业、航空航天、医疗设备、汽车工业等领…

AGV全电动无人堆高车选购时要注意的4点

AGV 随着机器人技术在中国的快速发展&#xff0c;国内企业开始推出区别于传统叉车的无人叉车&#xff0c;旨在为企业降本增效&#xff0c;降低人工成本与对人的依赖。同时&#xff0c;也将人工从危险恶劣的环境中解放出来。随着技术的持续提升&#xff0c;如今&#xff0c;无人…

DVB-S系统仿真学习

DVB-S系统用于卫星电视信号传输&#xff0c;发送端框图如下所示 扰码 实际数字通信中&#xff0c;载荷数据的码元会出现长连0或长连1的情况&#xff0c;不利于接收端提取时钟信号&#xff0c;同时会使得数据流中含有大量的低频分量&#xff0c;使得QPSK调制器的相位长时间不变…

【Frida】【Android】05_Objection实战

&#x1f6eb; 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

线程创建方式、构造方法和线程属性

欢迎各位&#xff01;&#xff01;&#xff01;推荐PC端观看 文章重点&#xff1a;学会五种线程的创造方式 目录 1.开启线程的五种方式 2.线程的构造方法 3.线程的属性及获取方法 1.开启线程的五种方式 创造线程的基本两步&#xff1a;&#xff08;1&#xff09;使用run方法…

app审核攻与防 解决Guideline 2.3.1 - Performance The app contains hidden features.

app审核会碰到各种问题&#xff0c;其中The app contains hidden features. 是最麻烦的之一&#xff0c;如果处理不好&#xff0c;会延迟审核&#xff0c;甚至下架、封号。有时app实际上并没有隐藏功能&#xff0c;还是会中招&#xff0c;通过我多年经验&#xff0c;尝试多种方…

2024最新华为OD机试试题库全 -【二叉树计算】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给出一个二叉树如下图所示: 请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。 左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 1.2 �…

智能车主控板原理图原理讲解

智能车主控板原理图原理讲解 综述&#xff1a;本篇文章对智能车主控板的一部分电路进行原理分析&#xff0c;文末附加整体原理图。 1. 电源电路 &#xff08;1&#xff09;通过外接电池供电并通过电源模块电路&#xff0c;运用稳压芯片lm2940&#xff0c;将电源电压转化为5V…

分布式处理

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;这是我作为学习笔记原理篇的最后一章&#xff0c;一台计算机在数据中心里是不够的。因为如果只有一台计算机&#xff0c;我们会遇到三个核心问题。第一个核心问题&#xff0c;叫作垂直扩展和水平扩展的选择问题&#xff0c;…

【leetcode】双“指针”

标题&#xff1a;【leetcode】双指针 水墨不写bug 我认为 讲清楚为什么要用双指针 比讲怎么用双指针更重要&#xff01; &#xff08;一&#xff09;快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数…

排序C++

题目 法1 sort升序排序&#xff0c;再逆序输出 #include<iostream> #include<algorithm> using namespace std;const int N 5e53;//注意const&#xff0c;全局 int a[N]; int main() {//错误int N5e53;//错误const int a[N];int n;cin >> n;for (int i 1;…

HBase Shell基本操作

一、进入Hbase Shell客户端 先在Linux Shell命令行终端执行start-dfs.sh脚本启动HDFS&#xff0c;再执行start-hbase.sh脚本启动HBase。如果Linux系统已配置HBase环境变量&#xff0c;可直接在任意目录下执行hbase shell脚本命令&#xff0c;就可进入HBase Shell的命令行终端环…

【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)

文章目录 ⭐容器继承关系&#x1f339;Set容器&#x1f5d2;️HashSet源码解析构造方法public HashSet()public HashSet(Collection<? extends E> c)public HashSet(int initialCapacity, float loadFactor)HashSet(int initialCapacity, float loadFactor, boolean dum…