SLF4J和log4j

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

    SLF4J:即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

    在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

    SLF4J支持多个日志系统,比如NOP, Simple, log4j version 1.2, log4j version 1.3, JDK 1.4 logging, JCL and logback。

    slf4j原理很简单,他只提供一个核心slf4j api(就是slf4j-api.jar包),这个包只有日志的接口,并没有实现,所以如果要使用就得再给它提供一个实现了些接口的日志包,比如:log4j,common logging,jdk log日志实现包等,但是这些日志实现又不能通过接口直接调用,实现上他们根本就和slf4j-api不一致,因此slf4j又增加了一层来转换各日志实现包的使用,当然slf4j-simple除外。其结构如下: 


slf4j-api(接口层) 
   | 
各日志实现包的连接层( slf4j-jdk14, slf4j-log4j) 
   | 
各日志实现包 


下面这个图更能说明其原理:


在这里还需要注意的是,连接层的jar包和实现的jar的版本要一致。


log4j:Log For Java,Apache的一个开源项目,可以灵活地记录日志信息,我们可以通过Log4j的配置文件灵活配置日志的记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码。


slf4j+log4j组合使用模式:
1. slf4j-api-1.5.11.jar 
2. slf4j-log4j12-1.5.11.jar 
3. log4j-1.2.15.jar 
4. log4j.properties(也可以是 log4j.xml) 


log4j配置示例:

# 日志输出级别(INFO)和输出位置(stdout,R)
log4j.rootLogger=INFO, stdout , R

# 日志输出位置为控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n

# 日志输出位置为文件
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

# 定义相应包路径下的日志输出级别
log4j.logger.com.alibaba=DEBUG
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.org.springframework=DEBUG
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=FATAL
 
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG
log4j.logger.org.logicalcobwebs=WARN

说明:
log4j.rootCategory=INFO, stdout , R
    此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示,具体讲解可参照第三部分定义配置文件中的logger。


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    此句为定义名为stdout的输出端是哪种类型,可以是org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    此句为定义名为stdout的输出端的layout是哪种类型,可以是org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以灵活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
    如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:%m 输出代码中指定的消息;%M 输出打印该条日志的方法名;%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;%r 输出自应用启动到输出该log信息耗费的毫秒数;%c 输出所属的类目,通常就是所在类的全名;%t 输出产生该日志事件的线程名;%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;%l 输出日志事件的发生位置,及在代码中的行数;[QC]是log信息的开头,可以为任意字符,一般为项目简称。输出示例[TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean 'MyAutoProxy'

JAVA样例代码:

package test;

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

public class slf4j {
	private static final Logger logger = LoggerFactory.getLogger(slf4j.class);

	public static void main(String[] args) {
		logger.info("Hello {}", "SLF4J");
	}
}













Pytorch实现softmax多分类 PyTorch实现softmax多分类 阅读详情

相关推荐

Gem5模拟器,详解官网教程Event-driven programming(五)

Gem5模拟器,详解官网教程Event-driven programming、时间调度、如何自定义SimObject

qq_46675545的博客 2038

java slf4j log4j_SLF4J和log4j的使用

SLF4J的使用和Log4j的配置SLF4J 简介完整用户手册请异步:SLF4J 使用手册SLF4J是Simple Logging Facade for Java的简写,即Java简单日志门面,用来服务于各种各样的日志框架,比如java.util.logging、logback和log4j。SLF4J允许最终用户在部署时集成自己想要的日志框架。需要注意的是,你的应用启用SLF4J意味着需要一个额外...

weixin_42512936的博客 1002

华为设备有关用户名密码的策略配置

命令用来开启对密码进行复杂度检查功能,设备默认已经是开启状态。1、密码长度大于等于12位,含数字大小写字母和特殊符号。2、设置密码更换周期为90天。取值范围8-16,默认长度为8位。登录失败后锁定时间大于15分钟。3、登录失败次数小于5次。4、登录超时30分钟以内。

简单的创作,希望可以帮助到跟我一样的学习者! 7839

log4j和slf4j的区别

一、log4j和slf4j的区别 log4j( log for java )(4 同 for) Apache的一个开源项目,可以灵活地记录日志信息,我们可以通过Log4j的配置文件灵活配置日志的记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码。slf4j:simple log facade for java 简单日志门面 slf4j不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系

小道士写程序 7519

AtmelStudio 7 ASF库学习笔记一:新建工程、配置时钟、下载程序和查看官方例程

由于需要学习一下atmel的atsaml 系列,使用AtmelStudio 7开发,之前主要用STM32,现在看到Atmel的库函数,其实是有些类相似的。 ASF3的库对应ST的标准库。ASF4对应ST的HAL库,Ateml Start对应STM32CubeMX。但在这里还是用ASF3来开发,因为Ateml Start还不支持我的这个芯片,而且和STM32的HAL库类似,ASF4为了好移植都是底...

yxy244的博客 8654

双系统引导修复:GRUB消失后恢复Windows与Ubuntu启动菜单

在UEFI引导架构下,操作系统启动依赖于EFI系统分区(ESP)中存储的引导加载程序。当多个系统共存时,引导管理器负责识别并加载不同操作系统的引导文件。然而,Windows更新或系统调整时常会重置UEFI启动顺序,导致GRUB引导菜单消失,直接进入Windows。这一问题的技术价值在于理解UEFI启动流程与多系统引导管理机制,掌握ESP分区结构与引导文件修复方法。常见的应用场景包括双系统安装后的引导修复、系统更新后的启动项丢失以及磁盘分区调整导致的引导故障。本文针对**GRUB引导菜单消失**和**UEFI

weixin_29895109的博客 292

Slf4j和Log4j的区别

log4j 大家都知道,就不在多说了,重点说说slf4j; 简单日记门面(simple logging Facade for Java)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希 望的loging APIs实现。 准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade,允许用户在部署最终应用时方便的变更其日志...

风吟 9264

SAP 物料账前期没有运行的解决方法

If you use the actual costing (material ledger), you must have completely closed all period-end closing operations in the actual costing for the penultimate period prior to the period shift. Use the '...

含笑饮砒霜死后更嚣张 3315

SLF4J和Log4J到底是什么关系

了解Apache的都知道Log4J,它的框架大致如下 但是呢,我们有时候做项目的时候,经常某些框架或者组件需要用别的日志框架可能更加节省性能,容易集成,或者使用更加方便,但是呢换来换取都不方便。于是呢,SLF4J仿佛就是一个日志接口,Log4J更像是一个底层的实现,其中SLF4J提供了绝大部分的日志实现,在它下面可以包括更多的日志实现框架,比如Logback等等 在输出日志的过程中,通过Filt...

weixin_43272605的博客 1224

构建高效的LLM应用测试框架

《构建高效的LLM应用测试框架》 关键词:LLM,测试框架,应用测试,效率优化,测试原理 摘要:本文将深入探讨构建高效LLM应用测试框架的必要性、方法与步骤,旨在为开发者提供一套系统化、可操作的测试解决方案,从而提升LLM

AI天才研究院 1045

node运行项目-Network: unavailable-没有ip地址

vscode运行vue项目后发现Network: unavailable 是什么情况呢?可能有一下三种情况:1.多个网卡原因:打开网络共享中心,把多余的网络禁用掉,只留一个2.在中配置host及public3.系统环境变量问题。

JackieDYH的博客 7538

slf4j和log4j的区别

slf4j和log4j的区别 作为开发人员,想必我们都非常熟悉日志的重要性,但是我们却非常容易忽略和日志的相关问题。平时我们使用最多的日志框架应该就是log4j,logback,log4j2。这些日志框架都是出自一个人之手: Ceki Gülcü。这些日志框架都很好用,并且也很完善,但是太依赖日志框架的jar包,当我们想换一种日志框架时,你就不得不去修改代码。 那么这个时候slf4j就孕育而生,slf4j(Simple Logging Facade for Java),java简易日志门面。是一套包装日志框

weixin_46529122的博客 5775

YOLOv5基于深度学习的道路缺陷检测系统

然而,由于长期的自然侵蚀、车辆磨损等因素,道路表面容易出现裂缝、坑洼等缺陷。这些缺陷不仅会影响驾驶舒适性,还可能引发交通事故,尤其是在恶劣天气或夜间行车条件下。随着人工智能技术的快速发展,基于深度学习的道路缺陷检测技术能够在降低人力成本的同时提高检测效率,为道路维护提供了新的解决方案。本项目构建了基于YOLOv5的道路缺陷检测系统,结合PyQt5开发了用户友好的UI界面,具备实时检测和图片分析功能。工具对图片进行标注,生成YOLO格式的标注文件。上传包含道路裂缝或坑洼的图片,系统会标注出缺陷的位置及类别。

YOLO 1076

SLF4J与Log4J、Log4J2和LogBack

TOC。

weixin_43489232的博客 748

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Log4j和slf4j

  slf4j slf4j(全称是Simple Loging Facade For Java)是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就 好像我们经常使用的JDBC一样,只是一种规则而已。因此单独的slf4j是不能工作的,它必须搭配其他具体的日志实现方案,比如 apache的org.apache.log4j.Logger,jdk自带的java.util.l...

qq_39691226的博客 6129

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java log4j slf4j_LOG4J和SLF4J的使用和原理

LOG4J和SLF4J在通常系统中,日志功能使用了log4j+slf4j,对于这两者的区别不甚了解,通过实践,并深入源代码层次的分析,希望能够讲的清晰一些。基本原理在项目中使用到的jar包主要有log4j.jar , slf4j-api.jar,和slf4j-log4j.jar三个。简单来说,slf4j.jar主要是作为一个门面,简化记录日志的操作,log4j.jar是记录日志的具体实现,而slf...

weixin_33416900的博客 555

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

log4j、logback、slf4j的区别和联系

1. 常见的Java日志框架 实现框架: log4j :出现于JDK 1.3之前,它定义了Logger、Appender、Level等概念 log4j2 :log4j的重写版 j.u.l (java.util.logging) : Java原生库,始于Java 1.4,Java1.5以后性能和可用性才有所提升 logback :log4j的升级版,更多的新特性 ...

紫眸的博客 911

slf4j和log4j的关系

文章目录 全称 slf4j:simple log facade for java【简单的 java 日志门面】 log4j:log for java【java 日志】 功能 slf4j:一个适配器,一个接口,通过调用它的方法统一来打印日志,只需要传入不同日志功能实现,比如 log4j 或者其他,当然这个传入也可以是通过底层操作 log4j:真正实现了日志的功能的日志系统,类似这样的日志系统有很多 ...

abcnull 的博客 1024

Java日志的使用——log4j和slf4j

### 设置### log4j.rootLogger = debug,stdout,D,E ### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.ap...

闲鱼的博客 6092

log4j和slf4j的学习

文章目录log4j一、log4j的介绍二、log4j的使用sil4j一、slf4j的介绍二、slf4j的使用log4j与slf4j的区别 log4j 一、log4j的介绍 (1)什么是log4j? Log4j是Apache的一个开源项目(官网 http://jakarta.apache.org/log4j),通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件,甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。 (2

巴黎不快乐的博客 250

slf4j和log4j、log4j2、logback

slf4j和log4j、log4j2、logback

ziyunmuxu的专栏 711

slf4j和log4j的区别与使用

官网:https://www.slf4j.org/manual.html(1)简单日记门面(simple logging Facade for Java)SLF4J是为各种loging APIs提供一个简单统一的接口。(2)slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade。(3)在部署时,选择不同的日志系统包,即可自动转换到不同的日志系统上。

近日终于有时间好好回顾下一些作品了,有帮助的好好看就行 1435

slf4j和log4j关系以及配置

SLF4J作为Java日志门面框架,与Log4j实现框架的关系及配置详解:SLF4J提供统一API接口,Log4j作为具体实现(推荐使用Log4j2.x)。通过适配器(slf4j-log4j12或log4j-slf4j-impl)实现桥接,需注意避免依赖冲突。配置包含Maven依赖示例(1.x/2.x版本)及对应的properties/xml配置文件模板,提供日志级别、格式设置及文件滚动归档方案。

onlymscn的博客 113

SLF4J 和log4j

1、SLF4J             SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,只服务于各式各样的日志系统,按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某

学习之路 1086

Log4j 和 Slf4j 的介绍和使用

Log4j 和 Slf4j 的介绍和使用 参考:http://blog.youkuaiyun.com/evankaka/article/details/45815047 1. 是什么 Log4j是Apache的一个开源、轻量级、用于日志管理的框架。 2. 干什么 主要用来进行日志记录的管理 通过使用Log4j,我们可以 - 控制日...

实习生流浪记 388

slf4j和log4j、logback

现在主流java项目一般使用slf4j+log4j的日志方案,最近抽点时间扫了一下slf4j、log4j、logback的官方文档,做个笔记。这篇比较不打算描述具体的配置方法,因为官方文档已经讲得很清楚了,而是描述一下核心的概念和方案。大家要对某个日志方案做一个全面了解的话,最好的方式是看官方文档,比baidu强很多。 log4j官方文档[https://logging.apache.o...

weixin_30416497的博客 95
上一篇: Java DOM解析XML的几个例子
下一篇: mycat后台连接调用关系
本木生
博客等级 码龄14年 18粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值