log4j2打印日志(包含指定logger特殊打印)

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="myConsole" target="SYSTEM_OUT">
            <PatternLayout pattern="[%d{MM-dd HH:mm:ss,SSS} %-5p] [%t] %c{2\} - %m%n%ex"/>
        </Console>
        <RollingFile name="activexAppender" fileName="/opt/dsf/log/data_query/data_query.log"
                     filePattern="/opt/dsf/log/data_query/data_query.log-%d{yyyyMMdd}">
            <PatternLayout>
                <Pattern>[%d{MM-dd HH:mm:ss SSS} %-5level] [%t] %c{3} - %m%n%ex</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>


        <RollingFile name="spLogger_appender" fileName="/opt/dsf/log/data_query/sp/data_query.log"
                     filePattern="opt/dsf/log/data_query/sp/data_query.log-%d{yyyyMMdd}">
            <PatternLayout>
                <Pattern>%m%n</Pattern>
            </PatternLayout>

            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>


        <Root level="info">
            <AppenderRef ref="myConsole"/>
            <AppenderRef ref="activexAppender"/>
        </Root>

        <!--name 特殊指明某个自定义logger对象  可以为字符串,也可以为指定类的全路径
            additivity =false则不往root路径下的日志里边打印    level为info级别    下边的appender-ref 指定哪一个appender-->
        <logger name="spLogger" additivity="false" level="info" includeLocation="true">
            <appender-ref ref="spLogger_appender"/>
        </logger>
        <!--<logger name="com.daojia.data.query.util.SPLogUtils" additivity="false" level="info" includeLocation="true">-->
        <!--<appender-ref ref="spLogger_appender"/>-->
        <!--</logger>-->
    </Loggers>
</Configuration>


java类SPLogUtils

package com.daojia.data.query.util;

import com.alibaba.fastjson.JSON;

import com.daojia.data.query.vo.SPLog;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * Created by liquanyu on 2018-05-28
 */
public class SPLogUtils {
    //这里是用字符串指定特殊logger对象,也可以用类 eg:

    private static final Logger spLogger = LoggerFactory.getLogger("spLogger");
//    private static final Logger spLogger = LoggerFactory.getLogger(SPLogUtils.class);

    public static void log(String sql, Integer dsId) {

        spLogger.info(JSON.toJSONString(new SPLog(sql, dsId)));
    }
}


SPLog

package com.daojia.data.query.vo;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * Created with IDEA
 * description:
 * author:liquanyu
 * Date:2018/5/28
 * Time:10:48
 */
public class SPLog {
    private String logTime;
    private String sql;
    private Integer dsId;

    public SPLog(String sql, Integer dsId) {
        this.logTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        this.dsId = dsId;
        this.sql = sql;
    }

    public String getLogTime() {
        return logTime;
    }

    public void setLogTime(String logTime) {
        this.logTime = logTime;
    }

    public String getSql() {
        return sql;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public Integer getDsId() {
        return dsId;
    }

    public void setDsId(Integer dsId) {
        this.dsId = dsId;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值