package com.sckw.core.utils;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.PrintWriter;
import java.io.StringWriter;

/**
 * @Desc 日志打印工具类
 * @Author zk
 * @Date 2019/5/13
 */
public class LogUtil {
    private static Logger logger = LogManager.getLogger(LogUtil.class);

    public static String TITLE = "【矿拉拉平台】=====";

    /**
     * 获取异常信息
     * @Author zk
     * @param e 异常Exception
     * @Date 2019/5/13
     * @return
     */
    public static synchronized String getStackTraceInfo(Exception e){
        StringWriter sw = new StringWriter();
        e.printStackTrace(new PrintWriter(sw, true));
        return sw.toString();
    }

    /**
     * 打印日志
     * @Author zk
     * @param message 日志内容
     * @Date 2019/5/13
     * @return
     */
    public static synchronized void debug(String message){
        logger.info(TITLE + message);
    }

    /**
     * 打印日志
     * @Author zk
     * @param message 日志内容
     * @Date 2019/5/13
     * @return
     */
    public static synchronized void info(String message){
        logger.info(TITLE + message);
    }

    public static synchronized void info(String message, Object params){
        logger.info(TITLE + message,params);
    }

    /**
     * 打印异常日志
     * @Author zk
     * @param message 日志内容
     * @Date 2020/03/13
     * @return
     */
    public static synchronized void error(String className, String methodName, String exceptionName, String message, String params){
        logger.error(TITLE+"异常["+className+"."+methodName+"] 异常代码["+exceptionName+"] 异常信息["+message+"] 请求参数:"+params);
    }

    /**
     * 打印异常日志
     * @Author zk
     * @param message 日志内容
     * @Date 2020/03/13
     * @return
     */
    public static synchronized void error(String className, String methodName, String exceptionName, String message){
        logger.error(TITLE+"异常["+className+"."+methodName+"] 异常代码["+exceptionName+"] 异常信息["+message+"]");
    }

    /**
     * 打印异常日志
     * @Author zk
     * @param message 日志内容
     * @Date 2021/01/22
     * @return
     */
    public static synchronized void error(String className, String message){
        logger.error(TITLE+"异常["+className+"] 异常信息["+message+"]");
    }

}