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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

springmvc学习笔记--json--返回json的日期格式问题

(一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation...

41910
来自专栏程序猿DD

Spring Boot使用@Async实现异步调用:自定义线程池

在之前的Spring Boot基础教程系列中,已经通过《Spring Boot中使用@Async实现异步调用》一文介绍过如何使用 @Async注解来实现异步调用...

5048
来自专栏Golang语言社区

Golang同步:锁的使用案例详解

互斥锁 互斥锁是传统的并发程序对共享资源进行访问控制的主要手段。它由标准库代码包sync中的Mutex结构体类型代表。只有两个公开方法 Lock Unlock ...

3798
来自专栏编码前线

在Android项目中调用FFmpeg命令

1222
来自专栏Java修行之道

SpringMVC中controller接收Json数据

1041
来自专栏JMCui

再学习之Spring(依赖注入).

一、概述     Spring框架是以 简化Java EE应用程序的开发 为目标而创建的。Spring可以实现很多功能,但是这些功能的底层都依赖于它的两个核心特...

3616
来自专栏Android相关

Gradle For Android(7)--创建Task以及Plugin

到目前为止,我们已经看到了很多Gradle构建的属性,并且知道了怎么去执行Tasks。这一章,会更多的了解这些属性,并且创建我们自己的Task。一旦知道如何自定...

1172
来自专栏芋道源码1024

注册中心 Eureka 源码解析 —— Eureka-Client 初始化(一)之 EurekaInstanceConfig

本文主要基于 Eureka 1.8.X 版本 1. 概述 2. EurekaInstanceConfig 2.1 类关系图 2.2 配置属性 2.3 Abstr...

6286
来自专栏代码拾遗

SpringMVC 教程 - Controller

Controller也是一个标准的Spring bean,可以在Servlet的WebApplicationContext中定义。也可以使用@Controlle...

641
来自专栏javathings

Spring 中 Bean 的作用域(必背)

Bean 的作用域,这里的作用域并不是程序代码中,变量的作用范围,而是指对象的创建的模式。Spring 5 之后有如下几个方式:

1192

扫码关注云+社区