专栏首页互联网研发闲思录log4j.xml 日志只输出指定类配置

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 条评论
登录 后参与评论

相关文章

  • maven 多个jar包版本依赖问题

      maven 中使用jar包的多个版本容易造成依赖问题,解决问题的方式可以将使用jar包的版本排除掉,比如dubbo使用netty 4.0.33版本可以将du...

    杉枫
  • 微服务中的集成测试

      前边思考了微服务的测试与原来web程序等的测试差别不大,更多的是依赖于junit测试工具, 单元测试的加强会提升程序本身的设计。   这篇文章主要讲一下最近...

    杉枫
  • 一些服务端写代码的规范,很重要

      对于设计的实现或者说代码的编写,有一些最基本的规则,或者说方法,现在梳理一下避免忘记。   每个人的能力有差异,一个小组的水平参差不齐这就要求我们有些经验的...

    杉枫
  • RabbitMq的消息队列类型direct、fanout、topic、headers(headers抛弃)

    1 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,当 有队列 qu...

    93年的老男孩
  • Spring JPA起航 顶

    其中SimpleJpaRepository是他们所有接口的实现类,而JpaRepository以上其实都是兼容noSql的接口,而只有JpaRepository...

    算法之名
  • 组合模式

    组合模式Composite Pattern又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象,通常依据树形结构来组合对象,用来表示部分以及整体层次,这种...

    WindrunnerMax
  • Python花式错误集锦(长期更新)

    Python是一门灵活的,有意思的,用途广泛的语言。近些年来,受到越来越多的重视。也有越来越多的人来学习这门语言。

    py3study
  • centos7安装chromedriver

    2.安装chromedriver(需要下载与chrome版本匹配的安装包) 下载:https://npm.taobao.org/mirrors/chromed...

    薛定喵君
  • 走进Java接口测试之日志框架Logback

    对于一个成熟的接口测试框架,日志管理这个是必不可少的。在开发和调试阶段,日志可以帮助我们更快的定位问题;而在测试的运维过程中,日志系统又可以帮助我们记录大部分的...

    高楼Zee
  • 【杂谈】当前模型量化有哪些可用的开源工具?

    模型量化属于模型优化中的重要技术之一,是非常有效地提升模型推理速度的技术方案,那么当前有哪些可用的模型量化工具呢?

    用户1508658

扫码关注云+社区

领取腾讯云代金券