使用Java的代理机制进行日志输出
2018-01-07 11:50
363 查看
在测试《Spring从入门到精通》使用Java的代理机制进行日志输出 这段代码时我的并没有输出日志信息,找了好多博客都没有解决,记录一下
package proxy; import org.apache.log4j.Level; import org.apache.log4j.Logger; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class LogProxy implements InvocationHandler{ private Logger logger=Logger.getLogger(this.getClass().getName()); private Object delegate; //绑定代理对象 public Object bind(Object delegate){ this.delegate=delegate; return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),delegate.getClass().getInterfaces(),this); } //针对接口编程 public Object invoke(Object proxy,Method method, Object[] args) throws InvocationTargetException, IllegalAccessException { Object result=null; logger.log(Level.INFO,args[0]+"开始审核数据"); try { result=method.invoke(delegate,args); logger.log(Level.INFO,args[0]+"审核结束"); }catch(Exception e){ logger.log(Level.INFO,e.toString()); } return result; } } interface TimeBookInterface{ public void doAuditing(String name); } class TimeBook implements TimeBookInterface{ public void doAuditing(String name){ System.out.println("业务逻辑"); } } class test{ public static void main(String args[]){ LogProxy logProxy=new LogProxy(); TimeBookInterface timeBookInterface = (TimeBookInterface)logProxy.bind(new TimeBook()); timeBookInterface.doAuditing("张三"); } }
输出信息:
业务逻辑 log4j:WARN No appenders could be found for logger (proxy.LogProxy). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
相关文章推荐
- 使用Java的代理机制进行日志输出
- 使用Java的代理机制进行日志输出(存疑)
- 使用Java的代理机制进行日志输出
- 使用java的代理机制实现日志的输出
- JAVA中使用log4j及slf4j进行日志输出的方法详解
- 从一个输出日志的实例分析Java的代理机制
- 5.2 从一个输出日志的实例分析Java的代理机制
- java 使用logback进行日志输出
- 从一个输出日志的实例分析Java的代理机制
- 使用log4j进行日志控制输出
- 如何使用Proxy模式及Java内建的动态代理机制
- [Java 15 反射机制 ] 动态代理的现场版使用
- 又一次闲来无聊,使用Java的动态代理机制来模拟AOP
- java中使用文件输入流和文件输出流进行文件读写的用例!
- CGLIB动态代理应用-java使用记录操作日志
- 关于java response的两种页面输出方式,以及HttpUrlconnection 代理使用注意点
- java使用文件或字节数组方式加载图片,并修改图片后进行保存、输出等
- 如何使用Proxy模式及Java内建的动态代理机制 推荐
- JAVA中如何使用freemaker模版进行输出
- 如何使用Proxy模式及Java内建的动态代理机制