关于log4j的一个问题

author author     2023-02-23     364

关键词:

log4j.rootLogger=DEBUG,A1和log4j.logger.A2=INFO,A2有什么区别?log4j.rootLogger是什么意思?

log4j.rootLogger 是配置log4j的根logger
具体配置方法请看下面代码

log4j.properties配置文件讲解如下:
# Set root logger level to DEBUG and its only appender to A1
#log4j中有五级logger
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7

配置根Logger,其语法为:
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=INFO, A1 ,R
#这一句设置以为着所有的log都输出
#如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL
#被输出,DEBUG,INFO将被屏蔽掉.
# A1 is set to be a ConsoleAppender.
#log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
#ConsoleAppender输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#灵活定义输出格式 具体查看log4j javadoc org.apache.log4j.PatternLayout
#d 时间 ....
log4j.appender.A1.layout.ConversionPattern=%-dyyyy-MM-dd HH:mm:ss [%c]-[%p] %m%n
#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.R=org.apache.log4j.RollingFileAppender
#日志文件的名称
log4j.appender.R.File=log4j.log
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
#log4j.appender.R.layout.ConversionPattern=%-dyyyy-MM-dd HH:mm:ss [%c]-[%p] %m%n

配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, ...

level 是日志记录的优先级
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

配置日志信息输出目的地Appender,其语法为
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN

Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
....
log4j.appender.appenderName.layout.option = valueN

Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
参考技术A 今天刚好也遇到这个问题,今天好像明白一点了。记录一下
rootLogger 记录的是 所有的日志,比如你使用的hibernate ,spring 等jar包也会打印日志,这个时候也会包含在里面

log4j.logger.a2 就表示你对应的这个目录的日志输出 ,比如你项目是a2包下有很多类,这个时候这些类的日志就会从这里输出
当然。rootLogger 也会输出a2中的日志,这个就像一个是总的,一个是不分一样的

----以上是我自己的理解。希望也可以帮到你

关于一些日志的问题(代码片段)

写在前面项目开发中,记录错误日志有以下好处:方便调试便于发现系统运行过程中的错误存储业务数据,便于后期分析在java中,记录日志有很多种方式:自己实现    自己写类,将日志数据,以io操作方式,写数据到文本... 查看详情

关于log4j日志级别问题,懂的来

我知道如果级别设置日志输入级别为info,则error,warn和info的日志会全部显示出来。但能否让log4j只显示info记录的日志,不显示error,warn级别的?如果能,如何设置?设置成info就是打印info以上级别的日志,包涵infowarnerror追问能... 查看详情

java关于存取数据库后做日志记录问题,不是用log4j

环境:Apache+MYsql+MyEclipseSSH+jsp在做一个小项目,其中要实现一个"日志管理"功能,即在其它模块对数据库做操作之后把操作记录下来(包括增删改查所有操作),保存到数据库中.在"日志管理"模块可以随时查出来需要怎么实... 查看详情

java关于存取数据库后做日志记录问题,不是用log4j

环境:Apache+MYsql+MyEclipseSSH+jsp在做一个小项目,其中要实现一个"日志管理"功能,即在其它模块对数据库做操作之后把操作记录下来(包括增删改查所有操作),保存到数据库中.在"日志管理"模块可以随时查出来需要怎么做... 查看详情

关于log4j的一些配置

一、log4j中代码所代表的含义1.输出级别的种类ERROR、WARN、INFO、DEBUGERROR为严重错误主要是程序的错误WARN为一般警告,比如session丢失INFO为一般要显示的信息,比如登录登出DEBUG为程序的调试信息2.配置日志信息输出目的地log4j.appen... 查看详情

slf4j搭配log4j2处理日志(代码片段)

目录关于log4j关于slf4j案例使用关于log4jLog4j+Slf4j的使用组合最为常见,但是我们知道Log4j目前已经停止更新了。Apache推出了新的Log4j2来代替Log4j,Log4j2是对Log4j的升级,与其前身Log4j相比有了显着的改进,并提供了许多Logback可用的... 查看详情

springboot关于log4j日志配置(代码片段)

自动加载配置文件:(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找sourcefolder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用... 查看详情

关于log4j:warnnoappenderscouldbefoundforlogger(org.apache.hadoop.metrics2.lib.mutablemetricsfa

几天初换IDEA编写java代码,感觉十分的爽,所以决定抛弃eclipse---------------------------------------上面是题外话--------今天在运行某程序时出现了如上图所示的问题,查找资料后发现是由于由于log4j这个日志信息打印模块的配置信息没... 查看详情

关于log4j高危漏洞,有必要优先关注elastic官方的综合研判......

信息来源:https://discuss.elastic.co/铭毅一句话概括:Kibana、Beats不受任何影响。Elasticsearch、Logstash受到漏洞影响,需要紧急修复(尤其外网对外提供服务的集群)。官方解读核心如下:1、Log4j“核弹”级漏洞... 查看详情

关于log4j的配置文件

因为要在spring中添加Mongodb,在网上查阅资料的时候我发现有人在web.xml中添加如下代码:<context-param>      <param-name>log4jConfigLocation</param-name>       查看详情

log4j配置问题

启动项目发现了一个Warn看看项目的目录结构,没有发现log4j.properties参考了这位大神的帖子:https://www.cnblogs.com/asderx/p/6541945.html在web项目的src文件夹下创建一个classes目录,然后新建一个文件log4j.properties 内容如下:#Configurelogg... 查看详情

使 Flyway 静音——一个 log4j 问题

】使Flyway静音——一个log4j问题【英文标题】:SilencingFlyway--alog4jproblem【发布时间】:2011-09-1108:00:57【问题描述】:我已经为Flyway编写了一个包装器,我称之为Nomad。我对Flyway很满意,省去了它在Maven之外执行的不间断日志记录。... 查看详情

如何覆盖 Maven 插件的 log4j 配置?

...题。我可能会为这个问题创建第二个问题,但这个问题是关于覆盖Maven插件的log4j配置的。Cargo使用JBoss的客户端库将内容发送到JBoss服务 查看详情

slf4j+log4j2模式的日志搭建

...:https://github.com/ksuth/wsyq.git原理介绍:现在行业内有很多关于日志记录的jar 查看详情

log4j配置问题,每天生成一个日志文件

我的配置如下:#日志输出级别log4j.rootLogger=info,log#日志输出方式log4j.appender.log=org.apache.log4j.DailyRollingFileAppender#日志输出位置log4j.appender.log.file=E:/logs/123.log#日志输出样式log4j.appender.log.layout=org.apache.log4j.PatternLayoutlog4j.appender.log.layo... 查看详情

java异常问题

...ender(文件)3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)... 查看详情

pyspark 3.2.0 中使用的是啥 log4j 版本?

...本以缓解CVE-2021-44228漏洞。【问题讨论】:我发现了一篇关于这个的好帖子:Structuredlo 查看详情

log4j导致的性能问题

问题背景  双十一零点时,有一个服务A(后文该服务都用A来代替)的tp99由平常的50ms左右突然彪到60000ms,导致调用端积累了几十W的数据,同时,也影响到了同一个docker上的其他服务。那为什么会出现这种问题呢,且看下面排... 查看详情