我希望我正在开发的这个库支持日志记录,但 Android 和 SE 有自己的日志记录方式。在 SE 中,您可以使用System.out.println
方法或java.util.logging.Logger
类。Android 用于android.util.Log
登录 logcat。一开始我用反射来检查android是否可用,然后反射性地调用日志中的方法Log.class
;但这不是一个好主意。
我的解决方案是让使用我的库的开发人员自己处理日志。他们会设置一个 Handler 接口,并有一个 onLog 方法
public void onLog(int level, String tag, String msg);
该库将在我的自定义 Logger 类中的处理程序上调用 onLog 方法。让开发人员处理日志而不是库本身是个好主意吗?似乎是迄今为止最好的解决方案,如果我把它记录好,那么它应该不是问题。