一直在用log4j但是不清楚其中的原理,关键代码如下:
通过new Throwable().getStackTrace();获取当前执行代码的栈,其中包括了正在执行的类名、方法名,
和文件名:
- StackTraceElement elements[] ;
- elements =new Throwable().getStackTrace();
- for(int i=0;i<elements.length;i++)
- {
- System.out.println("测试"+elements[i].getLineNumber()+
- "-"+elements[i].getClassName() + "-" + elements[i].getMethodName()+
- "-"+elements[i].getFileName());
- }
通过配置文件确定debug、info、error是否存在,进入logger内部判断是否执行相应级别!
- logger.debug("This is debug message from Dao.");
- // 记录info级别的信息
- logger.info("This is info message from Dao.");
- // 记录error级别的信息
- logger.error("This is error message from Dao.");
转载于:https://blog.51cto.com/linxucn/684125