zoukankan      html  css  js  c++  java
  • log4j封装方法,输出集合

    package org.liufeng.course.util;
    
    
    
    import java.lang.reflect.Array;
    
    import java.util.HashMap;
    
    import java.util.List;
    
    import java.util.Map;
    
    
    
    import org.apache.log4j.Logger;
    
    import org.apache.log4j.PropertyConfigurator;
    
    import org.slf4j.LoggerFactory;
    
    
    
    
    
    /**
    
     * 记录日志的类 主要输出字符串
    
     * 
    
     * @author Administrator
    
     * 
    
     */
    
    public class Log4jUtil {
    
        private static Log4jUtil log4jUtil;
    
        private static Logger logger = (Logger) LoggerFactory.getLogger(Log4jUtil.class);
    
    
    
        public Log4jUtil(String configPath) {
    
            PropertyConfigurator.configure(configPath);
    
            // this.logger = Logger.getRootLogger();
    
            this.logger = Logger.getLogger(Log4jUtil.class);
    
        }
    
    
    
        public static Log4jUtil getLog4jUtil() {
    
            if (log4jUtil == null) {
    
                log4jUtil = new Log4jUtil("config/log4j.properties");
    
            }
    
            return log4jUtil;
    
        }
    
    
    
        public static void debug(String str) {
    
            log4jUtil.logger.debug(str);
    
        }
    
    
    
        public static void info(String str) {
    
            log4jUtil.logger.info(str);
    
        }
    
    
    
        public static void warn(String str) {
    
            log4jUtil.logger.warn(str);
    
        }
    
    
    
        public static void error(String str) {
    
            log4jUtil.logger.error(str);
    
        }
    
    
    
        public static void fatal(String str) {
    
            log4jUtil.logger.fatal(str);
    
        }
    
    
    
        public static void main(String[] args) {
    
            // 测试字符串
    
            // testString();
    
    
    
            // 测试数组
    
            // Object[] array = new Object[] { "测试array", "测试array1", "测试array2" };
    
            // testArray(array);
    
    
    
            // 测试List集合
    
            // //List放的是字符串
    
            // List<String> list = new ArrayList<String>();
    
            // list.add("测试list1");
    
            // list.add("测试list2");
    
            // list.add("测试list3");
    
            // //List放的是对象。
    
            // List<Student> list = new ArrayList<Student>();
    
            // for (int i = 0; i < 3; i++) {
    
            // Student s = new Student();
    
            // s.setId(i);
    
            // s.setName("name"+i);
    
            // list.add(s);
    
            // }
    
            // testList(list);
    
    
    
            //测试map集合
    
            Map<String, Object> map = new HashMap<String, Object>();
    
            
    
            testMap(map);
    
        }
    
    
    
        public static void testString() {
    
            Log4jUtil log4jUtil = Log4jUtil.getLog4jUtil();
    
            String debug = "debug信息";
    
            String warn = "warn信息";
    
            String info = "info信息";
    
            String error = "error信息";
    
            String fatal = "fatal信息";
    
            log4jUtil.debug(debug);
    
            log4jUtil.warn(warn);
    
            log4jUtil.info(info);
    
            log4jUtil.error(error);
    
            log4jUtil.fatal(fatal);
    
        }
    
    
    
        public static void testArray(Object[] array) {
    
            Log4jUtil log4jUtil = Log4jUtil.getLog4jUtil();
    
            int length = array.length;
    
            for (int i = 0; i < length; i++) {
    
                // System.out.println("第"+i+"号元素的值:"+Array.get(array, i));
    
                log4jUtil.debug("第" + i + "号元素的值:" + Array.get(array, i));
    
            }
    
        }
    
    
    
        public static <T> void testList(List<T> list) {
    
            Log4jUtil log4jUtil = Log4jUtil.getLog4jUtil();
    
            if (list == null) {
    
                log4jUtil.error("list=null");
    
            } else if (list.size() == 0) {
    
                log4jUtil.info("list.size()为0");
    
            } else {
    
                StringBuffer sb = new StringBuffer();
    
                String s = new String("list中数据个数:" + list.size());
    
                sb.append("
    " + s + "
    start:----------------------
    ");
    
                for (T t : list) {
    
                    sb.append(t.toString() + "
    ");// 这里List包含的类要有自定义的toString方法
    
                }
    
                sb.append("end----------------------
    ");
    
                log4jUtil.debug(sb.toString());
    
            }
    
        }
    
    
    
        public static <V, K> void testMap(Map<K, V> map) {
    
            // Map<Student, Student> mapTemp = new HashMap<Student, Student>();
    
            Log4jUtil log4jUtil = Log4jUtil.getLog4jUtil();
    
            if (map == null) {
    
                log4jUtil.error("map=null");
    
            } else if (map.size() == 0) {
    
                log4jUtil.info("map.size()为0");
    
            } else {
    
                StringBuffer sb = new StringBuffer();
    
                String s = new String("map中数据个数:" + map.size());
    
                sb.append("
    " + s + "
    start:----------------------
    ");
    
                for (K k : map.keySet()) {
    
                    sb.append("key[" + k.toString() + "]所对应的value:["
    
                            + map.get(k).toString() + "]
    ");// 这里List包含的类要有自定义的toString方法
    
                }
    
                sb.append("end----------------------
    ");
    
                log4jUtil.debug(sb.toString());
    
            }
    
        }
    
    
    
        public static void test2() {
    
            PropertyConfigurator.configure("config/log4j.properties");
    
            // Logger logger = Logger.getLogger(Log4jTest1.class);
    
            Logger logger = Logger.getRootLogger();
    
            // for (int i = 0; i < 1000; i++) {
    
            logger.debug("debug");
    
            logger.info("info");
    
            logger.error("error");
    
            // }
    
        }
    
    }
  • 相关阅读:
    c# 改变FileUpload 上传文件大小
    使用ActiveX读取客户端mac地址
    javascript小技巧
    【2012百度之星/资格赛】H:用户请求中的品牌 [后缀数组]
    POJ1012 约瑟夫环问题[双向循环链表+打表技巧]
    北大ACM题分类
    ACM大量习题题库
    POJ1423 计算出n的阶乘的位数大数问题[Stirling公式]
    ACM训练计划(下)
    POJ2080 角度问题[cmath函数]
  • 原文地址:https://www.cnblogs.com/zh-1721342390/p/9764948.html
Copyright © 2011-2022 走看看