Log4j的使用

slf4j log4j 和slf4j log4j2 使用或log4j升级 1.pom.xml 文件 编写依赖后,maven导入后进行下面的操作。-- 自定义包/类日志级别 -->-- 控制台输出 -->-- 根日志级别 -->-- 文件输出 --> 阅读详情

Log4j基础知识

1.Logger:完成日志信息的处理

输出级别

off > fatal > error > warn > info > debug > trace > all
选定输出级别后,其以上的信息都会输出
好处:由于开发阶段输出的日志信息与产品阶段输出的日志信息是有很大区别的,所以可以进行区分

2.Appender:设置日志信息的去向
可以同时指定多个输出目的地
log4j.appender.appenderName = Appender.class
log4j.appender.appenderName.optin1 = value1
常用的:
org.apache.log4j.ConsoleAppender(将日志输出到控制台)
org.apache.log4j.FileAppender(将日志输出到文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件尺寸达到一定是产生一个日志文件)
org.apache.log4j.WriterAppender(将日志以串流格式发送到任意地方)
org.apache.log4j.JdbcAppender(将日志保存到数据库)

3.Layout:设置日志信息的输出样式
log4j.appender.appenderName.layout = Layout.class
log4j.appender.appenderName.layout.option1 = value1
常用的:
org.apache.log4j.HTMLLayout(以HTML格式输出)
org.apache.log4j.SimpleLayout(包含日志信息的级别和讯息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、执行绪、类别等)
org.apache.log4j.PatternLayout(灵活指定)

%p 输出优先级
%r 输出自应用启动到输出改日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
%f 输出日志信息所属的类别的类别名
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}
%l 输出日志事件的发生的位置,行号
%m 输出代码中的信息,即message
%n 输出一个换行号

 

 

Log4j测试

代码:

//获取此类的Class给Logger
private static Logger logger = Logger.getLogger(HelloLog4j.class);
public static void main(String[] args) {
   System.out.println("This is println message");
   logger.debug("This is debug message");
   logger.warn("This is warn message");
   logger.info("This is info message");
   logger.error("This is error message");
 }

配置文件:

log4j.rootLogger=debug,appender1
log4j.appender.appender1 = org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout = org.apache.log4j.TTCCLayout

 

Log4j在项目中的实际应用

加入配置文件:

#set log levels and appender(objective)
log4j.rootLogger=warn,appender1
#My# cope position(in file)
#A file daily : org.apache.log4j.DailyRollingFileAppender
log4j.appender.appender1 = org.apache.log4j.FileAppender
log4j.appender.appender1.File = F:/AIDE/201008_WaterConservation/workspaces/System.log
#My# css(custom file)
#%p-level %c-class name %d{yyyy-MM-dd HH:mm:ss}-date %l-line number %m-message %n-newline
log4j.appender.appender1.layout = org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern= %p %c %d{yyyy-MM-dd HH:mm:ss} %l %m %n

 

代码:

Logger logger = Logger.getLogger(this.getClass().getName());
   
    /**
     * 删除实体类
     */
    public void delete(Object entity) {
        try {
            getHibernateTemplate().delete(entity);
            if (logger.isInfoEnabled()) {
                logger.info("保存对象:"+entity.getClass().getSimpleName()+":成功");
            }
        } catch (DataAccessException e) {
            logger.warn("保存对象:"+entity.getClass().getSimpleName()+":出现异常",e);
            e.printStackTrace();
        }
    }

 

Log4j注意事项

log4j对于程序的运行的性能影响非常小,可以通过以下方式降低性能影响。

在开发中虽然是根据log4j.properties的设置来进行输出,但是实际上每条输出都会执行,所以会对性能有一定的影响。

  if (logger.isDebugEnabled()) {
    logger.debug("This is debug message");
  }      

  if (logger.isInfoEnabled()) {
    logger.info("This is info message");
  }
  logger.warn("This is warn message");
  logger.error("This is error message");

 

第二节:Vben Admin 登录逻辑梳理和对接后端准备 第一节,我们已经配置了前端环境,运行起来了我们的Vben Admin的项目。本节内容,我们先熟悉下项目的目录和文件,然后开始准备对接后端程序路由在 src/router页面在 sr/views本节前端登录逻辑梳理完成了,后端只要在/api/login 接口编写返回逻辑,前后段就可以打通了,具体详情我们下一节介绍。 阅读详情

相关推荐

微信小程序使用ucharts折线图,有负数显示0刻度线

当数据有负数和正数的时候默认不会显示0刻度线,不方便看出正负对比。

欢迎来到我的博客!在这里,我将分享我在前端开发方面的知识和经验。让我们一起探索前端开发的无限可能! 1580

slf4j、logback、log4j打印出的日志行号不正确,如何获取正确的行号(调用者类里的行号)

环境信息 SpringBoot2.1.15.RELEASE slf4j:1.7.25 logback:1.2.3 说明 系统使用的是slf4j+logback日志组合,而且为了系统的个性化需求,封装了自己的日志操作类Log.java,不是直接使用slf4j的API: private static Logger logger = LoggerFactory.getLogger(xxx.class); 配置信息 logback配置: logback.xml &lt...

lzhfdxhxm的博客 8390

数电-基于FPGA的自动售货控制系统设计

本次数电的课程设计是设计一款基于FPGA的自动售货控制系统,因为手上暂时没有FPGA的板子,所以先采用proteus仿真进行设计,观察系统效果,等之后FPGA板子下发,再移到quartus上调试和下载。同样是自己第一次自主设计电路系统,可能在功能上不完整或者逻辑上有错误,大家多多包涵,欢迎沟通交流。

gg1067的博客 2291

如何在MyBatis中使用log4j日志?

一共三步 第一步 log4j.properties log4j.rootLogger=DEBUG,CONSOLE,file #log4j.rootLogger=ERROR,ROLLING_FILE log4j.logger.cn.siliang.dao=debug log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.j...

专注编程和人工智能! 9011

Moveit Servo学习

MoveIt Servo功能与配置指南 摘要:本文介绍了MoveIt Servo的功能特性,包括支持关节速度、末端执行器速度和位置控制,以及安全功能如奇点检查、碰撞检测等。通过示例展示了如何运行伺服控制demo,详细解析了关键节点和话题。最后以睿尔曼rml_63机器人为例,讲解了如何自定义伺服配置文件,包括环境设置、输入输出参数配置、平滑滤波器和规划场景监控等关键配置项。文章提供了从基础使用到自定义机器人配置的完整指导,帮助开发者实现高效的实时运动控制。

Fisher的博客 1174

小智AI MCP协议实战:从语音指令到设备响应的完整链路拆解

本文深入拆解了小智AI MCP协议在智能语音交互中的完整工作流程。通过一个“调节音量”的真实场景,详细阐述了从语音采集、云端AI意图理解与决策,到MCP协议下的工具调用、设备端执行,最终完成语音反馈的每一个技术环节。文章重点分析了MCP协议如何通过标准化的交互模型,解决AI意图与设备控制间的“最后一公里”通信难题,实现高效可靠的设备响应。

defi6farmer的博客 249

日志框架log4j升级至log4j2

大家好,我是默语,擅长全栈开发、运维和人工智能技术。在这篇博客中,我将详细介绍如何将日志框架从Log4j升级到Log4j2,确保在项目中实现更高效、更安全的日志管理。关键词:Log4j2升级、日志框架、Java日志、SLF4J、Log4j2配置。升级步骤具体操作删除Log4j核心包注释Log4j依赖,并排除第三方包引入的Log4j引入Log4j2和SLF4J桥接包添加Log4j2核心包和SLF4J与Log4j2的桥接包修改日志打印代码使用SLF4J的LoggerFactory进行日志打印。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 6万+

3小时学会AI建站!无需编程,个人简历独立站开发速成指南

3小时学会AI建站!个人简历独立站开发速成指南

pei_laoshi的博客 1259

Slf4j与log4j及log4j2的关系及使用方法

Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独的slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如log4j或者log4j2,要在系统中使用slf4j,我们需要引入的核心包为:slf4j-api-1.6.4.jar。 如果不...

dingyufei的博客 8138

OpenClaw 完整命令文档(2026.3.13 最新版)

本文档为OpenClaw 2026.3.13通用版使用指南,包含核心命令大全。主要内容包括:1)基础安装/升级/卸载命令;2)ClawHub扩展安装命令(支持飞书/钉钉/企微等平台连接);3)Skills技能安装命令(实现聊天/搜索/记忆等功能);4)飞书机器人授权与配对命令;5)启动运行与配置检查命令;6)工作区与记忆管理命令;7)插件安全设置命令;8)调试日志命令;9)飞书机器人一键部署简化流程。文档特别强调飞书机器人部署需feishu扩展+对应技能+用户授权的完整配置,所有命令均需在终端执行,安装后需

MKliudan的专栏 1292

ARM芯片内部的高速公路:手把手教你用AMBA Designer配置NIC-400互连控制器

本文详细介绍了如何使用AMBA Designer工具配置ARM芯片中的NIC-400互连控制器,涵盖从基础拓扑构建到高级QoS设置的完整流程。通过实际案例演示,帮助开发者掌握AXI协议下的高效片上网络设计,提升SoC性能与能效比。

weixin_26750481的博客 311

Java Log4j和Log4j2的区别

Java Log4j和Log4j2的区别 一、核心JAR包 log4j核心包:log4j:log4j:[version] 而log4j2的核心包有2个: org.apache.logging.log4j:log4j-core:[version] org.apache.logging.log4j:log4j-api:[version] 二、配置文件 log4j:通过一个log4j....

zhibin的程序日记 1万+

【软件系统架构】系列六: SysML(系统建模语言)

SysML(系统建模语言)是OMG组织基于UML扩展的专用建模语言,用于支持复杂系统全生命周期建模。它包含9类标准图,核心建模元素包括块(Block)、端口接口、需求和约束等。与UML相比,SysML更适用于软硬件结合的复杂系统建模。作为MBSE的核心工具,SysML通过结构图、行为图、需求图和参数图实现系统设计、需求追踪和性能验证。虽然面临学习门槛高、工具成本高等挑战,但随着AI融合和国产化替代趋势,SysML在航空航天、汽车电子等领域的应用日益广泛。SysML v2将简化语法并提升互操作性,推动系统工程

moton2017的博客 2386

log4j2模板,log4j模板,log4j相关属性

文章目录1. log4j2模板1.1 `pom.xml`依赖1.2 `log4j2.xml`配置文件1.3 java中使用2. log4j模板2.1 `pom.xml`依赖2.2 `log4j.properties` 源配置2.3 `log4j.properties` 配置解释【***】2.4 java中使用学习参考地址 1. log4j2模板 1.1 pom.xml依赖 <dependency> <groupId>org.apache.logging.log4j&l

Java小皮孩 2813

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

关于slf4j、log4j、log4j2 以及使用log4j-1.2-api将log4j适配到log4j2上的案例

关于 关于slf4j、log4j、log4j2 等的概念,以及介绍将三方库中的 log4j1 输出的日志转接到log4j2上的方式。

zhy1379的博客 5208

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

log4j和log4j2配置详解

文章目录1 log4j或log4j2配置详解1.1 pom.xml文件1.2 log4j.properties的引用1.3 log4j.properties的说明1.3.1 rootLogger文件1.3.2 输出目的地appender文件1.3.2.1 ConsoleAppender1.3.2.2 FileAppender1.3.2.3 DailyRollingFileAppender1.3.2...

上善若泪 6096

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

log4j2的使用

log4j2默认在classpath下查找配置文件,可以修改配置文件的位置。如果是web项目,在web.xml中添加log4j2默认加载classpath下的 log4j2.xml 文件中的配置。如果找不到配置文件,Log4j 将提供默认配置。在写配置文件前。我们先学习一下常用的占位符:%d{HH:mm:ss.SSS} ,表示输出到毫秒的时间%t,输出当前线程名称%-5level,输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0。

m0_61160520的博客 2270

Log4j和Log4j2

文章目录Log4j和Log4j2的使用1、Log4j简介使用步骤2、Log4j2简介使用步骤 Log4j和Log4j2的使用 官网 1、Log4j 简介 百度百科:Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义...

为梦想发声 535

log4j与log4j2性能对比及log4j升级至log4j2方案

1.前言 之前某个服务在压测环境中出现了问题,分析之后得知是log4jLogger对象争用厉害,很多线程阻塞在此。 以上问题证明log4j在高并发高QPS情况下,是存在性能问题的。 之后把log4j升级成了log4j2,并采取异步日志模式,解决了因日志造成的性能问题。 2.性能对比 关于log4j与log4j2的性能对比文章有很多,本文不过多描述,给出几张结论图及原文链接,作为参考...

韩超的博客 (hanchao5272) 1万+

log4j升级log4j2

项目版本统一升级 主要就是三点一、去除log4j原来的相关的引用 具体是这几个包,maven相关就找对应名字就对了 这些都是关于log4j1的二、添加新的log4j2的相关引用 其中 来源https://blog.youkuaiyun.com/catoop/article/details/121858136 log4j-1.2-api.jar --> (log4j -> log4j2) 将log4j 的日志转接到log4j2日志...

qq_44181748的博客 5198

Log4j(四)——Log4j1与Log4j2的区别

前言 几乎每个大型应用程序都包含自己的日志或跟踪API。为了符合这一规则,欧盟SEMPRER项目决定编写自己的跟踪API。这是在1996年初。经过无数次的增强、几个版本和大量的工作之后,API演变成了log4j,这是一个流行的Java日志包。这个包是在Apache Software License下发布的,Apache Software License是由开源组织认证的完全成熟的开源许可证。 然而随着技术的发展,Log4j的结构、性能被很多新的日志框架所替代。它在设计结构上比不上slf4j,在性能上比不上l

野犬17的博客 3790

[java][log4j]最详细的Log4j使用教程

其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。当然除了上面的配置方法,还有其它,比如做一个J2EE应用,在J2EE应用使用Log4j,必须先在启动服务时加载Log4j的配置文件进行初始化,可以在web.xml中进行。配置文件的大致内容:log4j可以指定输出的log级别的最低等级,以及log的输出配置格式,每个log可以指定多个输出方式。

一名不太专业的程序员 4300

开源轮子 - Log4j和Log4j2

开源轮子 - Log4j和Log4j2

qq_43350524的博客 952

log4j及log4j2学习

log4j 1. log4j简介 定义每一条日志信息的级别,更加细致地控制日志的生成过程; 控制每一条日志的输出格式; 控制日志信息输送的目的地是控制台、文件等。 log4j包含三个组件,分别是 Loggers(记录器-区分日志类别)、Appenders(输出源-日志输出的地方)、Layouts(日志布局-日志的输出形式) Loggers:负责产生日志,能够对日志进行筛选,控制什么样的日志可以被输出,什么样的日志应该被忽略。可分为五个级别:DEBUG、INFO、WARN、ERROR、FATAL,从左到

Can96的博客 891

log4j - 什么是log4j?为什么要使用log4j?

近期刚刚到公司实习,想要增强自己的技术水平,下班回家自己开发个人博客系统,刚好接触到log4j,所以想要深入的了解相关知识。  公司的项目里面也有用,但是只限于使用,没有深度。所以要加强学习。微博不断更新中~~           Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNI...

不屈不挠的小强 974
上一篇: Java串口编程5
下一篇: IO小结
DryKillLogic
博客等级 码龄18年 67粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值