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

1、日志增加appender 指定日志生成时间、格式、间隔时间。

2、category指定哪些或哪个类日志生成在文件中。

3、自定义logger避免不要将userBehavior定义到root中避免继承导致其他日志写到userBehavior中。

配置样例如下:

<!--增加 开始-->
<appender name="userBehavior" class="com.xx.app.server.userbehavior.log.MinuteRollingAppender">
<param name="file" value="/export/Logs/userbehavior/userBehavior.log" />
<param name="Append" value="true" />
<param name="intervalTime" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m\n" />
</layout>
</appender>
<category name="com.xx.app.server.userbehavior.UserBehaviorUtil" additivity="false">
<priority value="ERROR"/>
<appender-ref ref="userBehavior"/>
</category>

<logger name="userBehavior">
<level value="ERROR" />
<appender-ref ref="userBehavior" />

</logger>

<!--增加结束-->

不要在root中引用userBehavior会因日志继承导致日志混乱

<root>
<level value="${serverside.log.level}"/>
<appender-ref ref="Fs_Client"/>

</root>

使用样例

public class UserBehaviorUtil {

/**
* 记录日志.
*/
private static Logger logger = Logger.getLogger("userBehavior");
/**
* 写日志.
* @param fun 方法名称
* @param map
*/
public static void write(String fun,Map<String,Object> map){

String key = getKey(fun, map);
String value = getValue(map);

logger.error(key+ Constants.JDQ_MESSAGE_SPLIT+value);
}

}

参考链接:

http://willow-na.iteye.com/blog/347340

http://www.360doc.com/content/10/1114/14/573136_69267215.shtml

时间: 2024-10-21 03:30:24

log4j.xml 日志只输出指定类配置的相关文章

在Spring的项目中配置Log4j存放日志文件到指定目录下

在Spring中使用LOG4J为日志输出的插件已有一段日子了,但有时候发现日志文件虽然是已经在根据自己的理想存放了,但还会有些莫名其妙的项目日志文件出现tomcat内(因为项目的日志文件都以项目命名嘛,所以比较容易区分这些log).这些令我纠结的日志文件,让我在改善一下LOG4J的配置.才发现,之前用的配置方式真是弱爆了. 1.先说自己比较理想的存放日志路径. 我比较喜欢把日志文件放在项目的WEB-INF下,然后当然有个文件夹叫logs.logs相信很多人都会存在在这样的目录下,但放在WEB-I

slf4j日志只输出到控制台,没输出到日志文件

最近使用SLF4J遇到了一个比较头疼的坑,日志输出到控制台没有问题,但是始终没有输出到日志文件.无论怎麽修改日志配置,始终是老样子. 有一种绝望,是各种百度.google却还是解决不了问题..直到我在启动项目的时候发现了这样的提示, SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/Java/tp-wechat/webapps/wechat-hy/WEB-INF/lib

使用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.a

log4j实现日志的输出

1.log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. 2.先了解log4j的配置文件 3.读取配置文件并定义一个方法并输出日志 Logger logger= Logger.getLogger("项目名称"); PropertyConfigur

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

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

log4j中日志输出文件指定相对路径的方法

我想大多数使用Log4j输出日志到文件系统的朋友可能都碰到过这个问题吧. 那就是在log4j的配置文件中无法指定相对路径,比如如下的配置就会有问题: log4j.appender.E = org.apache.log4j.RollingFileAppender log4j.appender.E.File = ../log/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.append

log4j配置只打印指定jar或包的DEBUG信息

有的时候查问题的时候需要打印第三方jar里面的debug信息,假如全部jar都打印的话日志文件会很大,这个时候可以配置log4j只打印指定jar的debug信息或者包,同时输出到了一个新的文件中. 比如:我这里只打印了mybatis下面datasource这个包下面的debug信息到了debug.log log4j.logger.org.apache.ibatis.datasource.pooled=debug, test1 log4j.appender.test1=org.apache.log

log4j.xml配置详解(转)

转自:http://willow-na.iteye.com/blog/347340 Xml代码 <?xml version="1.0" encoding="UTF-8"?>     <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">             <log4j:configuration xmlns:log4j='http://jakarta.apache.o

Log4j.xml的配置信息

源码 1 <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> 2 3 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> 4 <layout class="org.apache.log4j.PatternLayout"> 5 <param n