log4j对象改变日志级别可批量的改变所有级别,或是根据条件改变日志级别。
log4j配置文件:
1、批量的改变所有日志对象的日志级别:
2、根据log4j对象的名称改变日志级别,名称将会和配置文件中的名称匹配,匹配上的对象设置日志级别。
上面的匹配条件将会匹配到日志配置文件中的:
log4j配置文件:
- log4j.rootLogger=ERROR,FILE,CONSOLE,EXECPTION
- #log4j.appender.FILE=org.apache.log4j.RollingFileAppender
- log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.FILE.File=${catalina.home}/logs/boss.log
- log4j.appender.CONSOLE.Threshold=DEBUG
- log4j.appender.FILE.Encoding=utf-8
- #log4j.appender.FILE.MaxFileSize=10MB
- #log4j.appender.FILE.MaxBackupIndex=100
- log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
- log4j.appender.FILE.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss,SSS}][%t][%l][%p]: %m%n
- log4j.appender.EXECPTION=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.EXECPTION.File=${catalina.home}/logs/error.log
- log4j.appender.EXECPTION.Threshold=ERROR
- log4j.appender.EXECPTION.Encoding=utf-8
- #log4j.appender.EXECPTION.MaxFileSize=10MB
- #log4j.appender.EXECPTION.MaxBackupIndex=100
- log4j.appender.EXECPTION.layout=org.apache.log4j.PatternLayout
- log4j.appender.EXECPTION.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss,SSS}][%t][%l][%p]: %m%n
- log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
- log4j.appender.CONSOLE.Target=System.out
- log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
- log4j.appender.CONSOLE.layout.ConversionPattern=[%d{HH:mm:ss,SSS}][%-5p][%t][%M] (%F:%L) - %m%n
- log4j.appender.Requests=org.apache.log4j.RollingFileAppender
- log4j.appender.Requests.File=${catalina.home}/logs/jotm.log
- log4j.appender.Requests.MaxFileSize=100MB
- log4j.appender.Requests.MaxBackupIndex=5
- log4j.appender.Requests.Encoding=utf-8
- log4j.appender.Requests.layout=org.apache.log4j.PatternLayout
- log4j.appender.Requests.layout.ConversionPattern=%10r [%-5c{1}] %7p - %C{1}.%M(%L) : %m\n
- #c3p0
- log4j.logger.com.mchange.v2=ERROR
- log4j.logger.com.opensymphony=ERROR
- log4j.logger.org.apache=ERROR
- log4j.logger.org.springframework=ERROR
- log4j.logger.freemarker.cache=ERROR
- #SqlMap logging configuration...
- #DEBUG < INFO < WARN < ERROR < FATAL#
- log4j.logger.com.miri.boss=DEBUG
- log4j.logger.com.ibatis=ERROR
- log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=ERROR
- log4j.logger.com.ibatis.common.jdbc.ScriptRunner=ERROR
- log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=ERROR
- #log4j.logger.java.sql=INFO
- log4j.logger.java.sql.Statement=ERROR
- log4j.logger.java.sql.ResultSet=ERROR
- log4j.logger.java.sql.PreparedStatement=ERROR
- #json
- log4j.org.apache.struts2=ERROR
- log4j.logger.org.apache.struts2.json=ERROR
- #ecside
- log4j.logger.org.ecside.core.TableModelUtils=ERROR
- # JOTM #
- log4j.logger.org.objectweb.jotm=ERROR, Requests
- log4j.additivity.org.objectweb.jotm=false
- log4j.logger.org.objectweb.jotm.jta=ERROR, Requests
- log4j.additivity.org.objectweb.jotm.jta=false
- log4j.logger.org.objectweb.jotm.recovery=ERROR, Requests
- log4j.additivity.org.objectweb.jotm.recovery=false
- log4j.logger.org.objectweb.jotm.tests=ERROR, Requests
- log4j.additivity.org.objectweb.jotm.tests=false
- # CAROL #
- log4j.logger.org.objectweb.carol=ERROR, Requests
- log4j.additivity.org.objectweb.carol=false
- log4j.logger.org.objectweb.carol.rmi=ERROR, Requests
- log4j.additivity.org.objectweb.carol.rmi=false
- log4j.logger.org.objectweb.carol.jndi=ERROR, Requests
- log4j.additivity.org.objectweb.carol.jndi=false
1、批量的改变所有日志对象的日志级别:
- //value日志级别eroor、info、debug等
- public void test(String value){
- final String sArg = LogManager.getRootLogger().getLevel().toString();
- if (!sArg.equals(value))
- {
- //设置日志级别
- final Level level = Level.toLevel(value);
- //设置根日志级别
- LogManager.getRootLogger().setLevel(level);
- //获取配置文件中的所有log4j对象
- final Enumeration<org.apache.log4j.Logger> logs = LogManager.getCurrentLoggers();
- while (logs.hasMoreElements())
- {
- final org.apache.log4j.Logger logger = logs.nextElement();
- //给log4j对象设置级别
- logger.setLevel(level);
- }
- }
- }
2、根据log4j对象的名称改变日志级别,名称将会和配置文件中的名称匹配,匹配上的对象设置日志级别。
- //value日志级别eroor、info、debug等
- public void test(String value){
- final String sArg = LogManager.getRootLogger().getLevel().toString();
- if (!sArg.equals(value))
- {
- final Level level = Level.toLevel(value);
- LogManager.getRootLogger().setLevel(level);
- final Enumeration<org.apache.log4j.Logger> logs = LogManager.getCurrentLoggers();
- while (logs.hasMoreElements())
- {
- final org.apache.log4j.Logger logger = logs.nextElement();
- final String loggerName = logger.getName();
- // 匹配调整部分logger
- if (loggerName.contains("java.sql") || loggerName.contains("com.miri.boss")
- || loggerName.contains("com.ibatis"))
- {
- logger.setLevel(level);
- }
- }
- }
- }
上面的匹配条件将会匹配到日志配置文件中的:
- log4j.logger.com.miri.boss=DEBUG
- log4j.logger.com.ibatis=ERROR
- log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=ERROR
- log4j.logger.com.ibatis.common.jdbc.ScriptRunner=ERROR
- log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=ERROR
- #log4j.logger.java.sql=INFO
- log4j.logger.java.sql.Statement=ERROR
- log4j.logger.java.sql.ResultSet=ERROR
- log4j.logger.java.sql.PreparedStatement=ERROR
相关推荐
log4j2配置多个日志级别,拿到即可用, 。
log4j按功能保存日志
使用log4j2实现日志数据脱敏
NULL 博文链接:https://zhangguoli1997.iteye.com/blog/545671
log4j-如何控制指定类,包的日志输出级别: https://blog.csdn.net/u011479200/article/details/102476242
log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...
本文档提供log4j配置相对路径三种方法:log4j.properties文件配置、xml文件配置和通过servlet初始化方式来配置,希望对大家有所帮助
根据项目需要,要求日志文件名及输出的日志内容头为特殊的格式,因此重写了log4j的一些方法,如要求的格式和项目不同,可根据示例参考进行再次的修改
演示了java记录通过log4j2记录日志到mysql数据库中
log4j驱动包,里面包含log4j.properties日志文件xml
log4j.properties配置分级别单独打印
基于Apache开源项目Log4j的Web应用,Linux部署控制台日志级别调整。可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地、日志信息的输出格式log4j除了可以记录程序运行日志信息外还有一重要的功能就是...
另一种是动态配置,Log4j提供了PropertyConfigurator.configure(……)来动态配置,参数可以是一个properties文件所在路径的String对象,可以是一个properties文件所在路径的URL对象,也可以是一个properties对象。...
log4j2配置文件,按照文件大小划分日志,保存日期天数内的日志,指纹日志命名规则,日志输出等级等功能
log4j配置文件以及配置文件说明 包里有一个log4j配置文件 和一个配置详解
参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本...需要替换的文件为,Kettle的程序目录下data-integration-6.0\plugins\kettle5-log4j-plugin中有一个log4j.xml文件。
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...
Log4j日志配置说明,Log4j日志配置说明Log4j日志配置说明,Log4j日志配置说明
log4j.rootLogger=debug,CONSOLE,testfile,A1,MAIL ################### # Console Appender ################### log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=...
针对 tomcat9 slf4j+log4j2 不写日志的问题进行修复