我想要这个库我正在努力获得日志记录支持,但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方法。让开发人员处理日志而不是库本身是一个好主意吗?到目前为止似乎是最好的解决方案,如果我把它记录好,那么它应该不是问题。
答案 0 :(得分:2)
我同意你的看法,应该将日志记录委托给客户,而你自己开发的方法确实合情合理。
IMO,SLF4J门面将是您的理想选择。您的库将包含slf4j-api
jar并包含SLF4J日志记录语句。如果客户希望记录,他们只需将日志记录后端(和可选的配置文件)放入其应用程序的类路径中以捕获/查看日志语句。
这种方法的优点是它可以为客户提供最大程度的控制,并且无需编码即可获得记录;并且它允许客户在许多可用的后端中进行选择。
我会使用logback
作为J2SE应用的后端,使用logback-android
作为Android。
答案 1 :(得分:1)
你可以试试microlog
http://code.google.com/p/microlog4android/
它可以帮助您在android和java中使用一致的日志记录机制。如果你使用slf4j,它可以用作microlog(在你的android项目中)和log4j(对于你的java项目)的包装器