来自:马佩(来自:掘金)
//使用叻JDK动态代理模式真正的方法执行在invoke()方法里,看到这里在想一下上面动态代理的例子是不是就完全明白Spring源码实现动态代理的原理了。 // 2.获取当前bean被拦截方法链表 // 4.不为空则逐一调用chain中的每一个拦截方法的proceed,这里的一系列执行的原因以及proceed执行的内容我 在这里就不详细讲了,夶家感兴趣可以自己去研读哈
logger提供了应用程序可以直接使用的接口;
handler将(logger创建的)日志记录发送到合适的目的输出;
filter提供了细度设备来决定输出哪条日志记录;
formatter决定日志记录的最终输出格式。
每个程序在输出信息之前都要获得一个LoggerLogger通常对应了程序的模塊名,比如聊天工具的图形界面模块可以这样获得它的Logger: LOG=('info message') json用于字符串 和 python数据类型间进行转换