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

来源:互联网 发布:黄金分割构图法淘宝图 编辑:程序博客网 时间:2024/05/19 22:00

近期在做一个接入了第三方sdk的项目,其中涉及到蓝牙连接。蓝牙连接的时候,LogCat中大量输出了无用的BluetoothStack日志,输出的都是一个对象的哈希值。将有用的log瞬间冲掉了。因此做了以下方式来查看需要的日志。方法笨了点,不过,解决问题为先。而且这个方式还有一个用途,记完错左过程再说。


首先,需要下载相关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的网盘,以备后用。

两个jar包的csdn下载地址


0 0
原创粉丝点击