- Logger简介:
一款Android日志框架,简洁,可扩展性强,但是相对的,功能也要少上很多,但因为代码构成优秀,可以很轻松的在其之上扩展自己的日志功能。
- Logger分层:
Logger: 对外开放,实际使用时,我们只要通过该类就能实现其日志格式设置,日志打印输出等,但实际上使用了代理模式,该类并不实现各个打印方法,内部调用了Printer的实现类来实现各个方法。
Printer: Logger内部实际功能实现接口,默认为LoggerPrinter。
LogAdapter: 规定了日志输出的统一接口,使用订阅者模式,让一个Logger可以给多个adapter订阅,做到一次调用Logger方法,同时多方位日志打印处理。Logger实现了AndroidLogAdapter(控制台日志输出,内部默认使用PrettyFormatStrategy)和DiskLogAdapter(磁盘日志写入,内部默认使用CsvFormatStrategy),若同时添加这两个Adapter,则在调用Logger的日志输出方法时,日志会同时被打印到控制台和写入指定的日志文件中。
FormatStrategy: 日志格式接口,即日志的内容,样式等。Logger自带了两种样式的实现,PrettyFormatStrategy和CsvFormatStrategy。
LogStrategy: 日志打印位置接口,即日志应该打印到哪里去,比如控制台,或者本地文件里。Logger自带了两种位置的实现,LogcatLogStrategy(输出到控制台),DiskLogStrategy(输出到指定日志文件中)。