• 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);
        }
    }
  • 相关阅读:
    IMX6ULL开发板Ubuntu文件系统Ubuntu-base构建
    迅为3399开发板新增目标检测技术-RKSSD-编译程序
    国际化支持、activity生命周期、屏幕翻转的ui适配
    java调用第三方接口(转载)
    android基础控件的使用
    java并发框架--Fork-Join
    java并发框架--Executor
    多线程管理
    死锁问题
    java多线程信息共享
  • 原文地址:https://www.cnblogs.com/penghq/p/13750033.html
Copyright © 2020-2023  润新知