使用log4j.xml日志重复打印解决方案

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- in java cmd add -Dlog4j.configuration=logging.xml -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
	<appender name="log.console" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="%d{yyyy-MM-dd HH:mm:ss,SSS}
		%t %-5p %c{2} - %m%n" />
		</layout>
	</appender>
	<appender name="log.file" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File"			value="日志输出路径/upchnSmartSms.log" />
		<param name="Append" value="true" />
		<param name="Encoding" value="UTF-8" />
		<param name="DatePattern" value="‘.‘yyyy-MM-dd" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} %t %-5p %c{2} - %m%n" />
		</layout>
	</appender>

	<category name="org.springframework" additivity="false">
		<priority value="warn" />
		<appender-ref ref="log.file" />
	</category>
	<category name="org.hibernate" additivity="false">
		<priority value="warn" />
		<appender-ref ref="log.file" />
	</category>
	<category name="com.ffcs" additivity="false">
		<priority value="info" />
		<appender-ref ref="log.file" />
	</category>
	<root>
		<priority value="info" />
		<appender-ref ref="log.file" />
	</root>
</log4j:configuration>

将配置文件中category的additivity属性置为false.   日志就不会重复打印了。

时间: 2024-08-26 15:47:21

使用log4j.xml日志重复打印解决方案的相关文章

python避坑指南02——logging模块日志重复打印问题

目录 [TOC] 一.问题抛出 python的logging模块是python使用过程中打印日志的利器.我们可以使用logging模块的logger.Handler.formatter对我们的日志进行封装,指定日志输出的路径.格式以及位置.在声明logger的时候可以传一个字符串作为这个logger的标签.一直以为这个logger是以单例对象的设计模式设计的,只要这个标签名是一样的,那么返回的logger就是同一个.在打印日志的时候,想要实现日志分层,定义类如下函数来封装日志打印函数(由于源代码

Android开源日志库Logger的使用,日志重复打印、无法对齐问题。

基于 com.orhanobut:logger:2.2.0 Logger的GitHub地址:https://github.com/orhanobut/logger 1.添加依赖 implementation 'com.orhanobut:logger:2.2.0' 2.初始化 Logger.addLogAdapter(new AndroidLogAdapter()); 或者 FormatStrategy formatStrategy = PrettyFormatStrategy.newBuild

log4j.xml 日志只输出指定类配置

1.日志增加appender 指定日志生成时间.格式.间隔时间. 2.category指定哪些或哪个类日志生成在文件中. 3.自定义logger避免不要将userBehavior定义到root中避免继承导致其他日志写到userBehavior中. 配置样例如下: <!--增加 开始--> <appender name="userBehavior" class="com.xx.app.server.userbehavior.log.MinuteRollingA

log4j.xml打印日志信息(2)

log4j.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' > <appender name="myConsole&qu

可视化、高智能、多功能、XML配置型工业条码打印、标签打印解决方案

前言 现代工业生产中,标签打印无处不在,可以说标签就是产品的脸面.标签种类繁琐,特别是在工业生产中,标签信息需要与生产系统相关联,动态地获取打印信息.当然我们可以为每个标签写一个生成程序,但如果标签种类成千上万,那么就需要投入大量的人力.物力.比如一个很小的布局变动也去修改程序代码,显然是不明智的.如何构建一个可视化.高智能.多功能的工业条码打印解决框架,正是我们迫切需要解决的难题. 可视化.高智能.多功能.XML配置型工业条码打印解决方案应运而生,旨在解决上述难题.下面简要的给出部分截图,有兴

log4j日志文件 log4j.xml log4j.properties配置

1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ----------------------------------------------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuratio

log4j.properties日志级别debug打印后台sql语句

通常,日志的打印级别对开发的辅助性非常重要,合适的日志级别能够快速定位开发问题. 很多时候,开发时我们需要检查后台sql语句,可通过配置log4j配置文件来完成. 当INFO级别时,与数据库交互时是不会打印sql语句的,配置如下: 为了更清晰的看到sql的输出,我们现在把日志级别改为DEBUG,如下: 这样在与数据库交互时,控制台就会将sql打印出来,便于定位问题:同时也可以很明显的看出INFO与DEBUG的日志输出区别,DEBUG输出的日志较多,且在项目启动的时候也较慢. 原文地址:https

log4j程序遇到错误打印日志到文件中

log4j.properties: # 定义 DEBUG 优先级, R 为日志输出目的的 log4j.rootLogger= DEBUG, R # 设置日志输出类型 , 为文件类型 log4j.appender.R= org.apache.log4j.FileAppender # 设置日志文件的位置 log4j.appender.R.file=../visitemanage/logs/logRecord.log # 每次在文件尾写入新的日志信息 log4j.appender.R.Append=

log4j(七)——log4j.xml简单配置样例说明

一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下的 package test.log4j.test8; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; /** * Cre