log4j不同的类输出到不同文件中(如何按级别输出日志到不同的文件)

本文目录
- 如何按级别输出日志到不同的文件
- log4j怎么将error,info,warn,debug等存到不同的文件中
- Java怎样使用log4j2向不同文件中写入不同的日志
- 将console中所有输出通过log4j输出到文件中
- 怎么使用log4j输出单个级别的log到指定文件
如何按级别输出日志到不同的文件
Tomcat本身已经把日志输出到文件中了。 日志的配置LZ可以参考 ${Tomcat_Home}\conf\logging.properties这个文件。 级别配置、Format配置都在这个文件里面。 如果是应用程序打印的日志,LZ可以使用Log4j输出到LZ想要的地方。
log4j怎么将error,info,warn,debug等存到不同的文件中
自己写一个输出流,继承log4j中的某个类,然后可以做filter。
实际上从log4j的配置中只能指定输出到哪些流中,而具体忽略哪些内容,是由自己在代码中定义的。
Java怎样使用log4j2向不同文件中写入不同的日志
解决方法 1:
看看RoutingAppender,也许你能从这入手。
《?xml version="1.0" encoding="UTF-8"?》
《configuration status="DEBUG" name="MyApp" packages=""》
《appenders》
《Routing name="Routing"》
《Routes pattern="$${ctx:USERNAME}"》
《Route》
《RollingFile name="user.log" append="true" fileName="users/${ctx:USERNAME}.txt"
filePattern="users/archive/${ctx:USERNAME}-%d{MM-dd-yyyy}-%i.txt.gz"》
《PatternLayout》
《pattern》%d{ISO8601} %p %c %L - %m%n《/pattern》
《/PatternLayout》
《Policies》
《TimeBasedTriggeringPolicy/》
《SizeBasedTriggeringPolicy size="50 MB"/》
《/Policies》
《/RollingFile》
《/Route》
《/Routes》
《/Routing》
《/appenders》
《loggers》
《root level="TRACE"》
《appender-ref ref="Routing" level="DEBUG" /》
《/root》
《/loggers》
《/configuration》
将console中所有输出通过log4j输出到文件中
log4j.rootLogger=info,stdout,info,debug,error
log4j.logger.com.mybatis=info
log4j.logger.com.opensymphony.xwork2=info
log4j.logger.java.sql=debug
log4j.logger.org.apache.struts=info
log4j.logger.org.springframework=info
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %c - %m%n
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern= %c - %m%n
log4j.appender.debug.datePattern=’.’yyyy-MM-dd
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.append=true
log4j.appender.debug.File=C:/logs/项目名称/debug.log
log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern= %c - %m%n
log4j.appender.error.datePattern=’.’yyyy-MM-dd
log4j.appender.error.Threshold = ERROR
log4j.appender.error.append=true
log4j.appender.error.File=C\:/logs/项目名称/error.log
怎么使用log4j输出单个级别的log到指定文件
需要debug、info、warn、error分别进行配置了。之后通过priority属性控制日志实际输出级别就可以。
《?xml version="1.0" encoding="UTF-8"?》
《!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"》
《log4j:configuration xmlns:log4j=""》
《!-- Appenders --》
《appender name="console" class="org.apache.log4j.ConsoleAppender"》
《param name="Target" value="System.out" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{-MM-dd HH:mm:ss,SSS}||||%p||||%m%n" /》
《/layout》
《/appender》
《!-- 输出debug日志 --》
《appender name="debug.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/debug.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="MMddHH"/》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="debug" /》
《param name="levelMax" value="debug" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出info日志 --》
《appender name="info.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/info.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="MMddHH"/》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="info" /》
《param name="levelMax" value="info" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出warn日志 --》
《appender name="warn.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/warn.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="MMddHH" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="warn" /》
《param name="levelMax" value="warn" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出error日志 --》
《appender name="error.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/error.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="MMddHH" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="error" /》
《param name="levelMax" value="error" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- Root Logger --》
《root》
《!-- priority配置输出日志级别 --》
《priority value="info" /》
《appender-ref ref="console" 》《/appender-ref》
《appender-ref ref="info.log" /》
《appender-ref ref="debug.log" /》
《appender-ref ref="warn.log" /》
《appender-ref ref="error.log"/》
《/root》
《/log4j:configuration》

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




