«

android开发:把指定的日志输出到指定的文件

时间:2024-3-2 20:04     作者:韩俊     分类: Android


<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="white-space:pre">   </span>近期在做一个接入了第三方sdk的项目,其中涉及到蓝牙连接。蓝牙连接的时候,LogCat中大量输出了无用的BluetoothStack日志,输出的都是一个对象的哈希值。将有用的log瞬间冲掉了。因此做了以下方式来查看需要的日志。方法笨了点,不过,解决问题为先。而且这个方式还有一个用途,记完错左过程再说。</span>


首先,需要下载相关jar包两个:

android-logging-log4j-1.0.3.jar

log4j-1.2.17.jar

导入到libs目录下面就可以使用了。

由于使用方法比较简单,我直接把官方的例子写下:

初始化:

import java.io.File;
import org.apache.log4j.Level;
import android.os.Environment;
import de.mindpipe.android.logging.log4j.LogConfigurator;
/**
 * Call {@link #configure()}} from your application's activity.
 */
public class ConfigureLog4J {
    public static void configure() {
        final LogConfigurator logConfigurator = new LogConfigurator();

        logConfigurator.setFileName(Environment.getExternalStorageDirectory() + File.separator + "myapp.log");
        logConfigurator.setRootLevel(Level.DEBUG);
        // Set log level of a specific logger
        logConfigurator.setLevel("org.apache", Level.ERROR);
        logConfigurator.configure();
    }
}

使用:

import org.apache.log4j.Logger;

public class ExampleLog4J {
    private final Logger log = Logger.getLogger(ExampleLog4J.class);

    public void myMethod() {
        log.info("This message should be seen in log file and logcat");
    }
}


后记:

有个客户使用我们的app时候崩溃了,但是描述的很模糊,我们又没有用户的那款手机,因此我尝试使用这个方法,在我认为出现问题的地方,使用trycatch抓获异常,然后将日志写入文件,让用户发送文件回来。不过这个方法并不好,我最终使用了另一个方法来解决的。


为了保存jar包,上传到csdn的网盘,以备后用。


        <p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>

标签: android

热门推荐