Logger日志级别和输出的地方

自定义 ConsoleAppender 实现日志预处理 日志系统中,是一种常见的日志输出方式,通常用于将日志打印到控制台。在实际开发过程中,可能会有对日志输出进行预处理的需求,例如掩盖敏感信息、添加上下文信息或过滤特定的日志内容。通过扩展,开发者可以在日志输出到控制台前对日志进行自定义处理。本文将介绍如何通过继承来实现日志的预处理,并提供相关的代码示例配置方式。是日志框架中用来将日志输出到控制台的附加器,广泛用于开发调试场景。它的核心功能是将日志事件(如)格式化后输出到标准输出(System.out)或标准错误输出(System.err在Log4j。 阅读详情

log4j日志配置 
关键字: apache log4j 
1、配置根Logger: 
log4j.rootLogger = [ level ] , appenderName, appenderName2 
level:日志的级别,指定这条日志信息的重要性。分为ALL < DEBUG < INFO < WARN 一般常用的为

 

DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法 
debug(Object message ) ; 
info(Object message ) ; 
warn(Object message ) ; 
error(Object message ) ; 
如果设置级别为INFO,则优先级大于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,

小于该级别的如:DEBUG将不会被输出 
appenderName :就是指定日志信息输出目的地,比如(打印到控制台,输出到文件等)。同一条日志信息

可以配置多个输出目的地。

2、配置log输出目的地: 
org.apache.log4j.ConsoleAppender(控制台) 
org.apache.log4j.FileAppender(文件) 
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) 
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) 
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 
3、log信息的格式: 
org.apache.log4j.HTMLLayout(HTML表格形式) 
org.apache.log4j.SimpleLayout(简单格式的日志,只包括日志信息的级别和指定的信息字符串 ,如:DEBUG - Hello) 
org.apache.log4j.TTCCLayout(日志的格式包括日志产生的时间、线程、类别等等信息) 
org.apache.log4j.PatternLayout(灵活地自定义日志格式)

当使用org.apache.log4j.PatternLayout来自定义信息格式时,可以使用 
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 来格式化信息 
%c 输出所属类的全名,可写为 %c{Num} ,Num类名输出的范围 如:"com.sun.aaa.classB", %C{2}将使日志输出输出范围为:aaa.classB 
%d 输出日志时间其格式为 可指定格式 如 %d{HH:mm:ss}等 
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数 
%n 换行符 
%m 输出代码指定信息,如info(“message”),输出message 
%p 输出日志的优先级,即 FATAL ,ERROR 等 
%r 输出从启动到显示该条日志信息所耗费的时间(毫秒数) 
%t 输出产生该日志事件的线程名

4、同时使用commons-logging和Log4j

1)首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的

Log实现类 
2)如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量

org.apache.commons.logging.Log,找到则使用其定义的Log实现类 
3)否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类 
4)否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类) 
5)否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog

5.多个日志文件(log4j.rootLogger=INFO, A1 ,A2)

#A2 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。

log4j.appender.A2=org.apache.log4j.RollingFileAppender 
#日志文件的名称 log4j.appender.A2.File=log4j.log 
#日志文件的大小 log4j.appender.A2.MaxFileSize=100KB 
#保存一个备份文件 log4j.appender.A2.MaxBackupIndex=1

log4j.appender.A2.layout=org.apache.log4j.TTCCLayout

#log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

附例:(log4j.properties) 
例1: 
log4j.rootLogger=DEBUG, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

例2: 
#指定根Logger,及日志输出级别,大于等于该级别的日志将被输出( DEBUG < INFO < WARN < ERROR < FATAL ) 设为OFF可以关闭日志 
log4j.rootLogger=DEBUG, A1,A2 
#指定log输出目的,这里设为输出日志到指定目录的文件my.log中 
log4j.appender.A1=org.apache.log4j.FileAppender 
log4j.appender.A1.File=\\logs\\my.log #当前根目录下 
#指定日志信息的格式 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n

#把A2输出到控制台 
log4j.appender.A2=org.apache.log4j.ConsoleAppender 
log4j.appender.A2.layout=org.apache.log4j.SimpleLayout

#还可以单独指定输出某个包的日志级别 
#log4j.logger.com.study.HelloLog4j=INFO

 

转载自:https://blog.csdn.net/u014756827/article/details/52475990

Java项目中,如果你使用Log4j作为日志框架,并且想要将日志输出到控制台,你可能会使用org.apache.log4j.ConsoleAppender Java项目中,如果你使用Log4j作为日志框架,并且想要将日志输出到控制台,你可能会使用org.apache.log4j.ConsoleAppenderConsoleAppender是Log4j提供的一个Appender类,它可以将日志信息发送到控制台。下面是一个简单的例子,展示了如何使用ConsoleAppender来配置Log4j:首先,你需要在你的项目中添加Log4j的依赖。如果你使用Maven,可以在pom.xml文件中添加如下依赖:xmllog4jlog4j1.2.17。 阅读详情

相关推荐

Logger日志级别说明及设置方法、说明(1)

p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。

2401_84049282的博客 1729

log4j日志配置

1、配置根Logger:log4j.rootLogger = [ level ] , appenderName, appenderName2level:日志的级别,指定这条日志信息的重要性。分为ALL &lt; DEBUG &lt; INFO &lt; WARN 一般常用的为 DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法debug(Object mes...

log_cd的专栏 491

飞塔防火墙CVE-2022-40684漏洞复现:手把手教你搭建靶场环境(附调试技巧)

本文详细指导如何搭建Fortinet飞塔防火墙CVE-2022-40684认证绕过漏洞的靶场环境,涵盖虚拟机部署、网络配置、调试模式开启及漏洞原理分析。通过手把手教程,读者可掌握漏洞复现与深度调试技巧,深入理解该认证绕过漏洞的利用与防御。

h6i7j8的博客 670

log4j输出位置配置

附件内有文件     log4j.rootLogger=DEBUG,CONSOLE   #打印到控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  log4j.appender.CONSOLE.Threshold=DEBUG  log4j.appender.CONSOLE.Target=System.out...

shanghuzaixian的博客 186

日志记录---log4j详解

Apache官方项目地址 通常的日志记录的缺点是会减慢程序的运行速度,如果用普通的System.out的话影响视觉效果,另外解耦度也不好,而log4j的设计则使得日志记录变得可靠快速可拓展性好。 log4j是用文件来配置的,学习曲线低。 Log4j有三个组件:loggers(日志写出器,供程序员输出日志信息),appenders(日志输出地)layouts(展现方式)。这三个组件是...

weixin_30583563的博客 441

解决Logger没有info输出的问题

解决Logger没有info输出的问题 背景 最近在写爬虫的时候,打算使用logging来输出中间的一些过程,查看过程是否出现错误。写好一个logging类,用于记录。开始测试的好好地,后来进行了一些修改,导致没办法输出info信息。后面通过自己上网搜索,并测试调试找出了原因,这里记录一些 前提知识 首先需要了解logger 事件有五类 DEBUG 指定细粒度信息事件是最有用的应用程序调试 I...

Yuki_fx的博客 2万+

java logger 日志级别_Java如何设置Logger日志级别

在此示例中,您将看到我们如何更改或设置Logger日志级别日志级别将告诉您Logger将记录哪个特定的日志消息。Logger如果级别等于或高于级别,则仅记录日志消息Logger。例如,当级别设置Level.SEVERE为时,除以记录的消息外Logger.severe(String message),Logger.log(Level level, String message)将不记录任何消息。p...

weixin_34725044的博客 3662

SpringBoot动态修改Logger日志级别

springboot默认使用logback作为日志框架。logback提供了获取logger,修改logger日志级别的接口。 这里用一个Controller演示:获取logger,动态修改logger级别 actuator 其实也提供了管理日志的endpoint 环境 & 版本 Java17 SpringBoot 2.6.1 TestController package io.springboot.example.web.controller; import java.util.Lin

csdn_0xFFFF的博客 1465

logger.debug,logger.info,logger.warn,logger.error,logger.fatal的区别

简单的说,就是配合log的等级过滤输出 比如,你在开发的时候,要验证一个方法有没有被调用到,为了方便调试,通常会在这个方法开始的时候加一些system.out。但是项目真正发布的时候这些代码通常是要移除掉的,所以通常更建议用logger来记录 所以你可能会加logger.debug。 为什么是debug而不是info error或者其他呢?因为通常项目发布的时候都会把日志等级设置为error 或者...

qq_42822305的博客 9903

Logger级别输出地方

log4j日志配置 关键字: apache log4j 1、配置根Logger: log4j.rootLogger = [ level ] , appenderName, appenderName2 level:日志的级别,指定这条日志信息的重要性。分为ALL < DEBUG < INFO < WARN 一般常用的为 DEBUG , INFO ,WARN ,ERROR四...

weixin_30772105的博客 152

python logger日志级别_Python logger日志

1.日志级别有哪些?日志等级描述DEBUG最详细的日志信息,典型应用场景是 问题诊断INFO信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作WARNING当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的ERROR由于一个更严重的问题导致某些功能不能正常运行时记录的信息CRITICAL当发生严重错误,导致应用程...

weixin_32869031的博客 1892

Log4J学习【二十】ConsoleAppender

前面已经多次用到了ConsoleAppender,我们已经知道,ConsoleAppender就是直接把日志内容输出到控制台上面,这里我们再来看看他的一些配置项。还是定位到ConsoleAppender代码。首先ConsoleAppender是继承WriterAppender的,所以不用多说,ConsoleAppender也有encodingimmediateFlush两个配置项。作用不在多说,

andyzhaojianhui的专栏 1万+

log4j日志指定输出的位置详解,以及配置

log4j.appender.LOGFILE.File=logs/wlanapi/client.log --- logs文件夹目录在apache-tomcat-6.0.36\bin\下 log4j.appender.LOGFILE.File=/logs/wlanapi/client.log---tomcat根目录下 log4j.appender.LOGFILE.File=../logs/wl...

xiaofengwwanwwan的博客 3363

SpringBoot项目从0到1配置logback日志打印

我们在写后端项目的时候,日志打印是必需的。支持SpringBoot项目的日志框架一般有log4j、logback,这二者各有优劣,这里就不展开对比了。我们项目中常用的是logback框架,该框架主要是一个logback-spring.xml配置文件起作用。每次起新的项目我都是从老项目中copy一份出来,这份配置文件内容很详细,几百行左右,我一般都是修改一下应用名、日志输出路径,新项目就可以用了。这份老文件是之前的一个师兄留下的,我使用的时候也没深入去思考过各个配置的作用,这段时间刚好比较空闲,打算从0开始写

summon的博客 3979

logback.xml样例

logback配置文件 如果是springboot项目,日志配置文件名字可为logback.xml由日志框架加载;也可为logback-spring.xml,由spring加载。后者可用spring高级特效。 <?xml version="1.0" encoding="UTF-8"?> <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒当sc

haorenlin5945的博客 509

Logback配置详解——appender

logback 常用配置详解(二)<appender> <appender>标签: <appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属性nameclass。name指定appender名称,class指定appender的全限定名。 1.Console...

微信公众号:一颗向上的草莓 2630

日志框架logback的使用配置详解,将INFO以上打印到info.log

1. 前言 Logback是由log4j创始人设计的又一个开源日志组件, 查了一些资料说比log4j的性能还好, 以后将会逐步地替代掉log4j. 那么现在就来学学怎么使用logback吧 2. 导入依赖 &amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;gt;c

zzzgd_666的博客 2万+

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实RT-DETR实验的ResNet其是有很大区别的在其中有很多细节上的不同(文章中我也会列出举例)

Snu77的博客 7137

2003-2023年上市公司制造业出口技术复杂度数据-最新出炉.zip

一、资源特点全新力作:今年精心打造,人工细细打磨,品质上乘。权威精准:数据来源,准确靠谱,值得信赖。品质无忧:绝无数据造假,品质有保障,放心使用。二、适用人群学生:在校专科生、本科生、研究生,助力学业各个环节。教研人员:大学教师学术科研工作者,为教学科研添力。三、适用专业社科经济:经济学、社会学专业适用。规划管理:地理学、城市规划,以及商业、工商管理专业皆可使用。

上一篇: java 需要转义的字符
下一篇: mysql同一字段求和
keep12moving
博客等级 码龄9年 69粉丝 191原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值