packageorg.liufeng.course.util;importjava.lang.reflect.Array;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.apache.log4j.Logger;importorg.apache.log4j.PropertyConfigurator;importorg.slf4j.LoggerFactory;/*** 记录日志的类 主要输出字符串
*
*@authorAdministrator
**/
public classLog4jUtil {private staticLog4jUtil log4jUtil;private static Logger logger = (Logger) LoggerFactory.getLogger(Log4jUtil.class);publicLog4jUtil(String configPath) {
PropertyConfigurator.configure(configPath);//this.logger = Logger.getRootLogger();
this.logger = Logger.getLogger(Log4jUtil.class);
}public staticLog4jUtil getLog4jUtil() {if (log4jUtil == null) {
log4jUtil= new Log4jUtil("config/log4j.properties");
}returnlog4jUtil;
}public static voiddebug(String str) {
log4jUtil.logger.debug(str);
}public static voidinfo(String str) {
log4jUtil.logger.info(str);
}public static voidwarn(String str) {
log4jUtil.logger.warn(str);
}public static voiderror(String str) {
log4jUtil.logger.error(str);
}public static voidfatal(String str) {
log4jUtil.logger.fatal(str);
}public static voidmain(String[] args) {//测试字符串//testString();//测试数组//Object[] array = new Object[] { "测试array", "测试array1", "测试array2" };//testArray(array);//测试List集合// //List放的是字符串//List list = new ArrayList();//list.add("测试list1");//list.add("测试list2");//list.add("测试list3");// //List放的是对象。//List list = new ArrayList();//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 map = new HashMap();
testMap(map);
}public static voidtestString() {
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 voidtestArray(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 void testList(Listlist) {
Log4jUtil log4jUtil=Log4jUtil.getLog4jUtil();if (list == null) {
log4jUtil.error("list=null");
}else if (list.size() == 0) {
log4jUtil.info("list.size()为0");
}else{
StringBuffer sb= newStringBuffer();
String s= new String("list中数据个数:" +list.size());
sb.append("\r\n" + s + "\r\nstart:----------------------\r\n");for(T t : list) {
sb.append(t.toString()+ "\r\n");//这里List包含的类要有自定义的toString方法
}
sb.append("end----------------------\r\n");
log4jUtil.debug(sb.toString());
}
}public static void testMap(Mapmap) {//Map mapTemp = new HashMap();
Log4jUtil log4jUtil=Log4jUtil.getLog4jUtil();if (map == null) {
log4jUtil.error("map=null");
}else if (map.size() == 0) {
log4jUtil.info("map.size()为0");
}else{
StringBuffer sb= newStringBuffer();
String s= new String("map中数据个数:" +map.size());
sb.append("\r\n" + s + "\r\nstart:----------------------\r\n");for(K k : map.keySet()) {
sb.append("key[" + k.toString() + "]所对应的value:["
+ map.get(k).toString() + "]\r\n");//这里List包含的类要有自定义的toString方法
}
sb.append("end----------------------\r\n");
log4jUtil.debug(sb.toString());
}
}public static voidtest2() {
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");//}
}
}