在Android应用程序中创建可切换详细/日志记录模式的推荐方法是什么?

时间:2012-01-03 05:34:15

标签: android

我们如何在应用程序中创建详细/日志记录模式,在打开时将从应用程序打印日志记录语句并在关闭时不会在控制台上打印日志语句?一种方法是创建一个首选项选项并执行大量的if和else,这听起来不是很好。在Android中有标准的方法吗?

3 个答案:

答案 0 :(得分:1)

我自己从未这样做,但请点击此处:http://developer.android.com/reference/android/util/Log.html

在isLoggable函数下,它提到了如何为不同类型(ERROR,INFO,VERBOSE等)启用/禁用日志记录。

也就是说,如果您可以在一个文件中设置此设置并在需要时更改该设置。

答案 1 :(得分:0)

我创建了一个简单的类来执行我的日志,因此我可以轻松地将其关闭。我确信有足够的空间可以改进,但它有效:)

所以使用这个Log Class代替android one:

public class Log {
private static String tag = "YOUR_LOG_TAG";

public static void d(String... params){
    for(String m : params){
        android.util.Log.d(tag, m);
    }
}

public static void d(int m){
    android.util.Log.d(tag, String.valueOf(m));
}

public static void d(String iTag, String m){
    android.util.Log.d(iTag, m);
}

public static void e(String iTag, String m, Throwable t){
    android.util.Log.e(iTag, m, t);
}

public static void e(String m, Throwable t){
    android.util.Log.e(tag, m, t);
}

public static void e(String iTag, String m){
    android.util.Log.e(iTag, m);
}

}

答案 2 :(得分:0)

我同意@nmjohn使用android logger是最简单的记录方法。与Eclipse-adt-plugin-view“LogCat”一起,您可以在运行时决定当您的设备通过usb连接到development-pc时从日志记录中看到的内容。

如果您想编写便携式busineslogic,可以使用Simple Logging Facade for Java(SLF4J)。已经存在“do nothig”实现和使用android Log mechanism的实现。

如果您需要特殊类型的日志记录,您可以轻松创建自己的SLF4J实现,该实现可以写入磁盘文件或执行其他操作。

据我所知,java标准记录器log4j不能用于android,因为缺少依赖关系和内存足迹对于android来说很大。