zoukankan      html  css  js  c++  java
  • 日志打印改进

    今天在家写代码,给rongjun分享了一张我写代码的图片,没想到眼尖的rongjun瞬间发现了日志打印的待提升点。

    哈哈。分享给我了个logUtil包,然后直接调用即可。开心,今天 又进步了一点点。如下 

    记录并应用之~~

    package com.yiqifu.common.util;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import java.io.PrintWriter;
    import java.io.StringWriter;
    /**
     * 日志通用类
     * @author rongjun
     *
     */
    public class LogUtils {
    	 public static void logException(Exception e) {
    	        StackTraceElement[] stacks = (new Throwable()).getStackTrace();
    	        String newClass = stacks[1].getClassName();
    	        StringBuffer logInfo = new StringBuffer(500);
    	        logInfo.append("[");
    	        logInfo.append(stacks[1].getLineNumber());
    	        logInfo.append("]");
    	        logInfo.append(stacks[1].getMethodName());
    	        StringWriter trace = new StringWriter();
    	        e.printStackTrace(new PrintWriter(trace));
    	        logInfo.append(" Exception:");
    	        logInfo.append(trace.toString());
    	        Logger logger = null;
    	        try {
    	            logger = LoggerFactory.getLogger(Class.forName(newClass).getName());
    	            logger.error(logInfo.toString());
    	        } catch (ClassNotFoundException e1) {
    	            e1.printStackTrace();
    	        }
    	    }
    
    	    public static void logInfo(String message, Object... args) {
    	        StackTraceElement[] stacks = (new Throwable()).getStackTrace();
    	        String newClass = stacks[1].getClassName();
    	        StringBuffer logInfo = new StringBuffer(500);
    	        logInfo.append("[");
    	        logInfo.append(stacks[1].getLineNumber());
    	        logInfo.append("]");
    	        logInfo.append(stacks[1].getMethodName());
    	        logInfo.append(" INFO:");
    	        if (null != args){
    	            for (Object arg : args) {
    	                String[] strArr = message.split("\{\}", 2);
    	                if (arg == null) {
    	                    arg = "null";
    	                }
    	                message = strArr[0] + String.valueOf(arg) + strArr[1];
    	            }
    	        }
    	        logInfo.append(message);
    	        Logger logger = null;
    	        try {
    	            logger = LoggerFactory.getLogger(Class.forName(newClass).getName());
    	            logger.info(logInfo.toString());
    	        } catch (ClassNotFoundException e) {
    	            e.printStackTrace();
    	        }
    	    }
    
    	    public static void logDebug(String message, Object... args) {
    	        StackTraceElement[] stacks = (new Throwable()).getStackTrace();
    	        String newClass = stacks[1].getClassName();
    	        StringBuffer logInfo = new StringBuffer(500);
    	        logInfo.append("[");
    	        logInfo.append(stacks[1].getLineNumber());
    	        logInfo.append("]");
    	        logInfo.append(stacks[1].getMethodName());
    	        logInfo.append(" DEBUG:");
    	        if (null != args){
    	            for (Object arg : args) {
    	                String[] strArr = message.split("\{\}", 2);
    	                if (arg == null) {
    	                    arg = "null";
    	                }
    	                message = strArr[0] + String.valueOf(arg) + strArr[1];
    	            }
    	        }
    	        logInfo.append(message);
    	        Logger logger = null;
    	        try {
    	            logger =LoggerFactory.getLogger(Class.forName(newClass).getName());
    	            logger.debug(logInfo.toString());
    	        } catch (ClassNotFoundException e) {
    	            e.printStackTrace();
    	        }
    	    }
    
    	    public static void logError(String message, Object... args) {
    	        StackTraceElement[] stacks = (new Throwable()).getStackTrace();
    	        String newClass = stacks[1].getClassName();
    	        StringBuffer logInfo = new StringBuffer(500);
    	        logInfo.append("[");
    	        logInfo.append(stacks[1].getLineNumber());
    	        logInfo.append("]");
    	        logInfo.append(stacks[1].getMethodName());
    	        logInfo.append(" INFO:");
    	        if (null != args){
    	            for (Object arg : args) {
    	                String[] strArr = message.split("\{\}", 2);
    	                if (arg == null) {
    	                    arg = "null";
    	                }
    	                message = strArr[0] + String.valueOf(arg) + strArr[1];
    	            }
    	        }
    	        logInfo.append(message);
    	        Logger logger = null;
    	        try {
    	            logger =LoggerFactory.getLogger(Class.forName(newClass).getName());
    	            logger.error(logInfo.toString());
    	        } catch (ClassNotFoundException e) {
    	            e.printStackTrace();
    	        }
    	    }
    	
    }
    

      

  • 相关阅读:
    HDU2024 C语言合法标识符
    HDU2044 一只小蜜蜂…(简单递推)
    HDU2023 求平均成绩
    CodeForces 1185C1 Exam in BerSU (easy version) (贪心,排序)
    题目梳理(一)(2019.07.06~2019.07.20)
    Codeforces Gym 100989F(STL: map)
    UVA 10815 Andy's First Dictionary(STL: set)
    HDU2020 绝对值排序
    周二——4.2
    周一——4.1
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/9537780.html
Copyright © 2011-2022 走看看