log4j 基础使用入门教程

一、Log4j介绍

在项目中,不管是开发人员写代码还是测试人员写的测试代码一般都需要做一些日志来记录项目的行为,以便更好的跟踪项目中的一些交互和问题。

Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目, 为Java提供了日志记录功能。能够让程序员非常方便的记录日志, 并且提供了多种适配方式,能满足各种需求。

log4j是一个日志框架,配置简单,功能强大,在项目中用它来记录日志是很方便的

二、Log4j使用

Step1:引入Log4j依赖

<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version>
</dependency>

Step2:引入Log4j.properties(加到resources资源目录下)

#根logger主要定义log4j支持的日志级别及输出目的地
log4j.rootLogger = INFO,console,file⚠️‼️###输出信息到控制台配置###
//表示输出到控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender//将System.out作为输出
log4j.appender.console.Target = System.out//使用灵活的布局展示日志信息
log4j.appender.console.layout = org.apache.log4j.PatternLayout//日志详细输出信息样式
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L- %m%n⚠️‼️###输出信息到文件中配置###//每天产生一个日志文件
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender//输出文件目的地
log4j.appender.file.File = log/web_auto.log//新的日志信息是否追加到旧的日志文件末尾
log4j.appender.file.Append = false//使用灵活的布局展示日志信息
log4j.appender.file.layout = org.apache.log4j.PatternLayout//日志详细输出信息样式
log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n

 

三、日志级别

通过源码我们可以看到, Log4j 日志等级有:

  • off: 关闭日志 , 最高等级, 任何日志都无法输出
  • fatal,: 灾难性错误, 在能够输出日志的所有等级中最高
  • error:错误, 一般用于异常信息
  • warn:警告, 一般用于不规范的引用等信息
  • info: 普通信息
  • debug: 调试信息, 一般用于程序执行过程
  • trace: 堆栈信息, 一般不使用
  • all: 打开所有日志, 最低等级, 所有日志都可使用

在 Logger 核心类中, 除了 off/all 以外, 其他每个日志等级都对应一组重载的方法, 用于记录不同等级的日志

当且 仅当 方法对应的日志等级 大于等于 设置的日志等级时, 日志才会被记录

示例:debug-->info-->warn-->error

如果配置文件是这样配置的:log4j.rootLogger = INFO,console,file程序:
public class Log4jDemo {//Log4jDemo.class 是 当前类Log4jDemo类字节码对象  .class文件对象private static Logger logger = Logger.getLogger(Log4jDemo.class);public static void main(String[] args) {logger.debug("debug级别的日志");logger.info("info级别的日志");logger.warn("warn级别的日志");logger.error("error级别的日志");}
}那么输入结果中没有debug,只有info、warn、error:
2021-08-29 11:59:12 INFO  Log4jDemo:22 - info级别的日志
2021-08-29 11:59:12 WARN  Log4jDemo:23 - warn级别的日志
2021-08-29 11:59:12 ERROR Log4jDemo:24 - error级别的日志如果配置文件是这样配置的:log4j.rootLogger = debug,console,file
那么输入结果中有全部:debug、info、warn、error

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

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

相关文章

SRC漏洞挖掘思路手法

这段时间挖掘了挺多的SRC漏洞&#xff0c;虽然都是一些水洞&#xff0c;也没有一些高级的漏洞挖掘利用手法&#xff0c;但是闲下来也算是总结一下&#xff0c;说说我对SRC漏洞挖掘的思路技巧。 很多人可能都挖过很多漏洞其中包括一些EDU或者别的野战&#xff0c;但是对于SRC往…

QQ录屏会录到外界声音吗?这篇文章告诉你答案

在现代网络科技快速发展的今天&#xff0c;屏幕录制已成为人们日常办公、学习、娱乐的重要工具。qq作为国内最受欢迎的社交软件之一&#xff0c;其内置的屏幕录制功能受到很多人的青睐。可是使用的过程中&#xff0c;很多人会有疑问&#xff1a;qq录屏会录到外界声音吗&#xf…

单片机烧录方式 -- IAP、ISP和ICP

目录 背景 1 什么是ICP 2 什么是ISP 3 什么是IAP 4 总结 背景 对于51单片机&#xff0c;我们使用STC-ISP上位机软件通过串口进行程序的烧写&#xff1b;对于STM32系列单片机&#xff0c;我们既可以通过串口烧写程序&#xff0c;也能通过JLink或是STLink进行程序的烧写&am…

如何保护服务器的安全

互联网的迅速发展&#xff0c;让很多企业都很重视网络技术的使用&#xff0c;但是网络的传播速度比较快&#xff0c;同时容易造成数据、隐私方面的泄露现在每个企业基本有自己的服务器。有几点需要注意&#xff0c;可以参考&#xff1a; 1.基础密码安全 最基本的安全就是密码安…

车载电子电器架构 —— 基础技术开发概述

车载电子电器架构 —— 基础技术开发概述 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗…

【element-ui】el-select multiple多选,表单校验问题解决方法

在项目开发过程中发现&#xff0c;el-select设置了multiple支持多选属性之后&#xff0c;el-select赋值之后&#xff0c;表单校验不通过 解决思路及解决方法&#xff1a; 1、首先看看v-model 、prop属性、rules校验是否正确&#xff0c;这里注意el-select的rules校验的trigger…

【Go语言】Go语言中的指针

Go语言中的指针 变量的本质是对一块内存空间的命名&#xff0c;我们可以通过引用变量名来使用这块内存空间存储的值&#xff0c;而指针则是用来指向这些变量值所在内存地址的值。 注&#xff1a;变量值所在内存地址的值不等于该内存地址存储的变量值。 Go语言中&#xff0c;…

42.do...while语句

目录 一.什么是do...while语句 二.语法 三.执行流程图 四.举例 五.视频教程 一.什么是do...while语句 do...while语句也是循环语句&#xff0c;和while语句的区别是&#xff0c;while语句是先判断表达式&#xff0c;如果表达式成立才会执行循环体中的内容&#xff0c;否则…

新书速览|Python数据分析快速上手

从零开始&#xff0c;小白轻松入手&#xff0c;一步一步教你学数据分析&#xff0c;让数据分析变得简单易懂 本书内容 《Python数据分析快速上手》通过通俗易懂的语言、丰富多彩的实例&#xff0c;详细介绍了使用Python进行数据分析应该掌握的各方面技术。本书内容包括Python基…

区块链游戏解说:什么是 Arcade Champion

作者&#xff1a;lesleyfootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;Arcade Champion Dashboard 什么是 Arcade Champion Arcade Champion 代表了移动游戏世界的重大革新。它将经典街机游戏的怀旧与创新元素结合在一起&#xff0c;包括 NF…

自学Python笔记总结(2——了解)

网络了解 网络调试助手 NetAssist.exe NetAssist.exe 使用方法请自行寻找 UDP协议 &#xff08;只能一来一回的的发消息&#xff0c;不可连续发送&#xff09; UDP 是User Datagram Protocol的简称&#xff0c; 中文名是用户数据报协议。在通信开始之前&#xff0c;不需要建…

计算机网络体系结构

本篇博客是基于谢希仁编写的《计算机网络》和王道考研视频总结出来的知识点&#xff0c;本篇总结的主要知识点是第一章的计算机网络概述。 计算机网络概述 整体介绍 概念 计算机网络&#xff1a;是一个将分散的。具有独立功能的计算机系统&#xff0c;通过通信设备和线路连…

Zookeeper基础入门-1【集群搭建】

Zookeeper基础入门-1【集群搭建】 一、Zookeeper 入门1.1.概述1.2.Zookeeper工作机制1.3.Zookeeper特点1.4.数据结构1.5.应用场景1.5.1.统一命名服务1.5.2.统一配置管理1.5.3.统一集群管理1.5.4.服务器动态上下线1.5.5.软负载均衡 1.6.Zookeeper官网1.6.1.Zookeeper下载1.6.2.历…

day01-HTML-CSS

一、Web 开发 1. 什么是 Web &#xff1f; Web&#xff1a;全球广域网&#xff0c;也称为万维网(www&#xff0c;World Wide Web)&#xff0c;能够通过浏览器访问的 网站。 2. Web 网站的开发模式 3. Web 标准 Web 标准也称为网页标准&#xff0c;由一系列的标准组成&#xff…

REVERSE-COMPETITION-VNCTF-2024

REVERSE-COMPETITION-VNCTF-2024 前言TBXObaby_c2yunobfuseko 前言 ko的随机数算法没看出来&#xff0c;可惜~ 这里给自己打个广告&#xff1a;东南网安研二在读&#xff0c;求实习&#xff0c;求内推&#xff0c;求老板们多看看我QAQ TBXO 通过字符串定位到main函数汇编视…

【Algorithms 4】算法(第4版)学习笔记 13 - 番外篇:二叉查找树的几何应用(下篇)

文章目录 前言参考目录学习笔记4&#xff1a;区间搜索树&#xff08;interval search trees&#xff09;4.1&#xff1a;一维区间搜索4.2&#xff1a;区间搜索树定义4.3&#xff1a;区间搜索树 demo 演示4.3.1&#xff1a;插入4.3.2&#xff1a;搜索命中4.3.3&#xff1a;搜索未…

[RCTF2015]EasySQL1 题目分析与详解

一、题目介绍&#xff1a; 1、题目来源&#xff1a; BUUCTF网址 2、题目介绍&#xff1a; 拿到flag。 二、解题思路&#xff1a; 我们发现题目首页有登录和注册账号两个选项&#xff0c;我们首先尝试注册账号&#xff0c;尝试注册username为admin的账号&#xff0c;输入密码…

如何更改虚拟机服务端口

如何更改虚拟机服务端口 背景internet information services开启/安装 IIS打开IIS管理器 修改端口 背景 今天我们来讲一下如何更改我们服务所占用的端口号&#xff0c;假设我们在虚拟机或者本地计算机上部署了一个服务&#xff0c;然后这个服务呢&#xff0c;我们默认安装了&a…

一番赏小程序开发,提升用户体量,增加收益

随着我国年轻人逐渐成为消费主力军&#xff0c;盲盒一番赏迅速迎来高速发展期&#xff0c;一番赏的市场规模也迅速扩大。 在互联网的支持下&#xff0c;当下国内形成了线上消费热潮&#xff0c; 一番赏开启了线上抽赏&#xff0c;衍生出了线上一番赏小程序&#xff0c;这让更多…

快速掌握MySql的常用基本操作

MySql 基本操作 一、MySql的数据类型二、MySql运算符三、MySql常用函数四、MySql完整性约束五、MySql核心操作&#xff08;库、表、CRUD、连接&#xff09;库操作表操作CRUD通过存储过程生成大量测试数据连接查询 一、MySql的数据类型 整数类型字节最小值最大值TINGINT1有符号…