zoukankan      html  css  js  c++  java
  • Slf4j+logback实现日志打印-获取调用者类及方法行数信息

    原贴:https://blog.csdn.net/wangchengaihuiming/article/details/95313482

    package lct.conference.util;
    
    import com.imon.util.Encode;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    import org.slf4j.LoggerFactory;
    import org.slf4j.spi.LocationAwareLogger;
    import sun.misc.JavaLangAccess;
    import sun.misc.SharedSecrets;
    
    import java.io.IOException;
    import java.io.StringWriter;
    
    public class PCMSLog {
        /**空数组*/
        private  final Object[] EMPTY_ARRAY = new Object[] {};
        /**全类名*/
        private  final String FQCN = PCMSLog.class.getName();
    
        private LocationAwareLogger pcmslg;
    
        private PCMSLog(){
    
        }
        public static PCMSLog getlog() {
            PCMSLog pcmsLog=new PCMSLog();
            pcmsLog.pcmslg= getLocationAwareLogger(2);
            return pcmsLog;
        }
       
        public void info(Object obj){
            pcmslg.log(null, FQCN, LocationAwareLogger.INFO_INT, obj.toString(), EMPTY_ARRAY, null);
        }
    
        public void info(Object obj,Throwable t){
            pcmslg.log(null, FQCN, LocationAwareLogger.INFO_INT, obj.toString(), EMPTY_ARRAY, t);
        }
        
        public void error(Object obj){
            if(obj instanceof Throwable){
                error(((Throwable)obj).getMessage(),((Throwable)obj));
            }else if(obj instanceof String){
                pcmslg.log(null, FQCN, LocationAwareLogger.ERROR_INT, obj.toString(), EMPTY_ARRAY, null);
            }
        }
        public void error(String msg,Throwable t){
            pcmslg.log(null, FQCN, LocationAwareLogger.ERROR_INT, msg, EMPTY_ARRAY, t);
        }
        public void debug(Object obj){
            pcmslg.log(null, FQCN, LocationAwareLogger.DEBUG_INT, obj.toString(), EMPTY_ARRAY, null);
        }
    }
  • 相关阅读:
    echarts 动态获取数据(柱状图,折线图)
    mybatis 注解 批量更新
    jquery+ spring+java 多文件上传
    前端bootstrap分页+mybatis+PageHelper分页
    文件导出成excel
    文件上传excel文件
    java 文件转成pdf文件 预览
    java 单文件下载
    java 文件上传
    mybatis postgresql 批量删除
  • 原文地址:https://www.cnblogs.com/penghq/p/13750033.html
Copyright © 2011-2022 走看看