log4j 日志的简单使用

news2025/7/17 14:59:38

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

前言

System.out.println("这是我的测试"); 写够这种写法了,日志打印多种方式,这里简单介绍一下 Log4j 的使用、在不适用框架的情况下、使用框架也差不多、Maven项目中进行集成Log4j

集成过程

1、导入Pom依赖

        <!--日志相关-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

2、添加日志配置文件

添加 log4j.properties 配置文件,配置文件内容不具体介绍。可自行百度。配置文件多种多样、也可以有很复杂的配置

# Global logging configuration
# 设置日志输出级别以及输出目的地,可以设置多个输出目的地,开发环境下,日志级别要设置成DEBUG或者ERROR
# 前面写日志级别,逗号后面写输出目的地:我自己下面设置的目的地相对应,以逗号分开
# log4j.rootLogger = [level],appenderName1,appenderName2,…
log4j.rootLogger=DEBUG,CONSOLE,LOGFILE

#### 控制台输出 ####
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# 输出到控制台
log4j.appender.CONSOLE.Target = System.out
# 指定控制台输出日志级别
log4j.appender.CONSOLE.Threshold = DEBUG
# 默认值是 true, 表示是否立即输出
log4j.appender.CONSOLE.ImmediateFlush = true
# 设置编码方式
log4j.appender.CONSOLE.Encoding = UTF-8
# 日志输出布局
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
# 如果日志输出布局为PatternLayout 自定义级别,需要使用ConversionPattern指定输出格式
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p (%c:%L) - %m%n

<property=name="LOG_PATTERN" value="%highlight{%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36}  - %msg%n}{FATAL=red, ERROR=red, WARN=yellow, INFO=cyan, DEBUG=cyan,TRACE=blue}"/>


#### 输出错误信息到文件 ####
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
# 指定输出文件路径
#log4j.appender.LOGFILE.File =F://Intellij idea/logs/error.log
log4j.appender.LOGFILE.File =./logs/error.log 



#日志输出到文件,默认为true
log4j.appender.LOGFILE.Append = true
# 指定输出日志级别
log4j.appender.LOGFILE.Threshold = ERROR
# 是否立即输出,默认值是 true,
log4j.appender.LOGFILE.ImmediateFlush = true
# 设置编码方式
log4j.appender.LOGFILE.Encoding = UTF-8
# 日志输出布局
log4j.appender.LOGFILE.layout = org.apache.log4j.PatternLayout
# 如果日志输出布局为PatternLayout 自定义级别,需要使用ConversionPattern指定输出格式
log4j.appender.LOGFILE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n


3、代码中使用

类中使用,先要创建日志对象, static final Logger log = Logger.getLogger(所在类.class);

public class TestSqlLite {
    //创建日志对象 Logger
    static final Logger log = Logger.getLogger(TestSqlLite.class);

    @Test
    public void test(){
        System.out.println("这是我的测试");
        log.info("我的测试");
        log.warn("警告提示");
        log.error("错误提示");
    }


}

4、实际结果

打印结果中的info 、warn 、error 是没有颜色的。如果你想要颜色快速定位问题。可以使用xml配置文件,或者使用logback 这个日志相关的。这里不做赘述。
在这里插入图片描述

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

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

相关文章

P1169 [ZJOI2007] 棋盘制作

Portal. 悬线法。 悬线法&#xff0c;主要用来解决最大子矩形问题&#xff0c;由王知昆在 IOI2003 国家集训队论文中提出。 所谓“最大子矩形问题”&#xff0c;就是在一个给定的矩形网格中有一些障碍点&#xff0c;要找出网格内部不包含任何障碍点&#xff0c;且边界与坐标…

大型企业如何通过低代码平台提高开发效率和降低成本?

云计算、大数据、人工智能、物联网风口之下&#xff0c;企业数字化转型如同被按下了快进键。为快速攻破转型路上的技术关&#xff0c;企业纷纷把目光投向了低代码开发平台&#xff0c;希望可以用最短的时间&#xff0c;开发出最适合企业发展的应用。 集团企业需要什么样的数字化…

高等数学啃书汇总重难点(十)重积分

方法性的一章&#xff0c;看着唬人&#xff0c;实际上定积分学得熟练&#xff0c;就可以很轻松的掌握这一章的内容&#xff0c;重点在于计算各种坐标下的二重或三重积分~ 1.几何意义 2.定义 3.性质 4.直角坐标计算二重积分 5.极坐标计算二重积分 6.三重积分 7.重积分的应用

Mac-Java开发环境安装(JDK和Maven)

JDK安装 1、访问oracle官网&#xff0c;下载jdk 点击下载链接&#xff1a;https://www.oracle.com/java/technologies/downloads/#java11-mac 选择Mac版本&#xff0c;下载dmg 打勾点击下载&#xff0c;跳转登陆&#xff0c;没有就注册&#xff0c;输入账号密码即可下载成功…

面试高频题:你如何知道HashMap正在进行扩容操作?

亲爱的小伙伴们&#xff0c;大家好&#xff01;我是小米&#xff0c;一个热爱技术分享的小编。今天&#xff0c;我们将一起来探讨一个程序员们在日常工作中常常遇到的问题——如何知道HashMap正在扩容。 HashMap&#xff0c;作为Java中最常用的数据结构之一&#xff0c;经常在…

“眶”护光明,爱尔眼科眼眶病专家团在方寸之间寻找光明密码

2023年8月&#xff0c;右眼罹患I型神经纤维瘤病的患儿孩子小豪(化名)在父亲熊勇的带领下&#xff0c;由爱尔眼科四川眼科医院孙丰源教授主刀&#xff0c;成功接受眼眶肿瘤切除术&#xff0c;保住了眼球和视力&#xff0c;这是生病10年来专家团队为其实施的第3次治疗。 据了解&a…

易知微智慧医疗:用科技守护健康

智慧医疗系统在国内处于一个快速发展的阶段&#xff0c;先进的医疗设备加上先进的计算机技术和网络科技&#xff0c;正在为医疗行业的转型升级提供支持。智慧医疗不仅可以提高医疗机构的效率和安全性&#xff0c;还可以让患者享受更高水平的服务和医疗体验。 目前&#xff0c;智…

功能测试用例,需要详细到什么程度?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

C++类和对象中:运算符重载+const成员函数+日期类的完善

C类和对象中:运算符重载const成员函数日期类的完善 一.为什么C会有运算符重载这个语法呢?1.需求说明2.实现1.不规范的解决方案1.代码实现2.缺陷 3.具体的解决方案:运算符重载 二.运算符重载的语法形式1.语法形式2.private私有成员的解决方案1.封装出get函数,能够在类外读取对应…

小米6x 小米6x 一键刷twrp 安装面具magisk 实现root

为了在安卓上抓包chatgpt 只能root小米6x 来安装抓包工具小黄鸟 才能安装根证书来解析https。 工具面具卡包 1.一键刷TWRP 小米6X一键线recovery(需要先解bl锁)-20180506重发.zip - 蓝奏云 2. 在安装前清除数据 在开始刷机之前&#xff0c;需要先格式化 Data 分区和清除 Cac…

机械应用笔记

1. 螺纹转换头&#xff1a;又名金属塞头&#xff0c;例如M20-M16&#xff1b;适合于大小螺纹转换用&#xff1b; 2. 螺纹分英制和公制&#xff0c;攻丝同样也有英制和公制之分&#xff1b; 3. DB9头制作&#xff0c;M6.5的线&#xff0c;用M6.5的钻头扩线孔&#xff0c;在根…

onlyoffice 二次开发 连接器(connector) 表单填(Filling out the form) jsApi级别操作文档

阅读须知&#xff1a;本文针对有对word/excel进行js操作的需求 本次改造基于V7.3.3进行&#xff0c;已经更新进入docker。 小伙伴们须知&#xff1a;改造后的office docker需要付费&#xff08;875元&#xff09;&#xff0c;等于wps一个月费用 欢迎大家一起交流&#xff1a;V&…

Pandas教程(非常详细)(第一部分)

Pandas 库是一个免费、开源的第三方 Python 库&#xff0c;是 Python 数据分析必不可少的工具之一&#xff0c;它为 Python 数据分析提供了高性能&#xff0c;且易于使用的数据结构&#xff0c;即 Series 和 DataFrame。Pandas 自诞生后被应用于众多的领域&#xff0c;比如金融…

HarmonyOS鸿蒙原生应用开发设计- 元服务(原子化服务)图标

HarmonyOS设计文档中&#xff0c;为大家提供了独特的元服务图标&#xff0c;开发者可以根据需要直接引用。 开发者直接使用官方提供的元服务图标内容&#xff0c;既可以符合HarmonyOS原生应用的开发上架运营规范&#xff0c;又可以防止使用别人的元服务图标侵权意外情况等&…

echarts 实现分组和显示总数

echart 除了能显示坐标轴外&#xff0c;还可以对坐标轴进行分组&#xff0c;可以更直观的观察数 据&#xff0c;本博文记录一下关于分组的探索&#xff0c;先展示一下效果图&#xff1a; // 直接复制到echarts官方示例中查看效果 let xAxisData []; let data1 []; let data2 …

我的风信共享

登录界面&#xff1a; 管理员可以对所有文章包括管理员发布的文章进行管理&#xff1a; 普通用户只能对自己的文章进行操作; 分类展示&#xff1a; 文章发布功能&#xff1a; 搜索功能&#xff1a;

配电房/变电站可视化智能监控系统方案,助力打造“无人值守”监管模式

一、背景需求分析 配电房管理工作一直是供电系统运行管理可靠性的薄弱环节之一&#xff0c;一些配电房开关跳闸和配电房环境过热影响设备运行、配电房水浸导致设备损坏、配电房设备被盗等&#xff0c;既容易毁坏设备&#xff0c;也容易影响正常用电情况。传统监管方式是通过工…

Nacos 注册中心介绍与实操

前言 本文为个人SpringCloud学习笔记&#xff0c;主要记录Nacos的注册中心实操、SpringBoot多模块编程实操等 注册中心 注册中心介绍 注册中心是微服务的一个重要组件&#xff0c;用于实现服务的注册与发现&#xff0c;主要作用包括以下&#xff1a; 服务注册&#xff1a;…

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;Linux入门 &#x1f52d;【从零开始学习Linux】系列均属于Linux入门&#xff0c;主要包含Linux操作系统下的指令、操作、权限以及开发工具&a…

k8s之集群调度

目录 调度 工作机制 调度过程 调度算法 优先级 指定调度节点 调度 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令…