升级你的Logger(注解+动态代理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级你的Logger(注解+动态代理)相关的知识,希望对你有一定的参考价值。

参考技术A

基于android的Log进行了一层简单的封装,以一个demo的形式呈现。

我们在自定义Log的时候,应该考虑到的几点:

描述: 利用注解描述一个类型的日志,利用动态代理生成一种日志类型。
直接看demo,简单粗暴:

日志等级枚举:

普通的日志类,可以实例化之后使用:

Config注解,描述一种类型的日志:开关、等级、名称(log前缀):

日志接口,利用Config注解添加一种日志类型

动态代理,Logger的代理类,可以生成和管理所有Logger:

对上面的那些类封装一层,对外提供日志的能力,DSLog:

demo日志器就做好了,在上面扩展功能也是非常容易的~
欢迎拿去食用~

动态代理中的自定义注解样式

动态代理中的自定义注解的样式

  

@Target(ElementType.METHOD) 代表此注解使用对象是method
@
Retention(RetentionPolicy.RUNTIME) 代表此注解的生存域是运行期
package cn.tedu.anno;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Tran {
}

 

以上是关于升级你的Logger(注解+动态代理)的主要内容,如果未能解决你的问题,请参考以下文章

Java动态代理+注解体现Spring AOP思想

面试官问我:什么是静态代理?什么是动态代理?注解反射你会吗?

面试官:什么是静态代理?什么是动态代理?注解反射你会吗?

动态代理+注解+反射实现View的点击事件绑定

AOP和动态代理-自定义注解切入使用-01

AOP和动态代理-自定义注解切入使用-01