2016-05-27 395 views
0

我想將我的apk的所有運行時信息和錯誤日誌存儲在sdcard文件夾new File(Environment.getExternalStorageDirectory(), /myapk/logs/myapk_date.log)中。我如何實現這一目標?已安裝設備的Android apk日誌

額外信息 - 我的應用程序將安裝在啓動時啓動,佔用全屏幕並播放從服務器發送的特定內容的即插即用PC中。這將是任何用戶將看到的唯一的應用程序,因爲沒有用戶交互。 apk會通過EOD將日誌上傳到服務器。

+0

您可以使用log4j –

+0

請您詳細說明一下嗎? – jay

回答

1

http://mvnrepository.com/artifact/de.mindpipe.android/android-logging-log4j

使用這個jar文件

下面是示例代碼:

public class ALogger { 
    public static org.apache.log4j.Logger getLogger(Class clazz) { 
     final LogConfigurator logConfigurator = new LogConfigurator(); 
     logConfigurator.setFileName(Environment.getExternalStorageDirectory().toString() + File.separator + "log/file.log"); 
     logConfigurator.setRootLevel(Level.ALL); 
     logConfigurator.setLevel("org.apache", Level.ALL); 
     logConfigurator.setUseFileAppender(true); 
     logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n"); 
     logConfigurator.setMaxFileSize(1024 * 1024 * 5); 
     logConfigurator.setImmediateFlush(true); 
     logConfigurator.configure(); 
     Logger log = Logger.getLogger(clazz); 
     return log; 
    } 
} 

在代碼中,替換以下行:

PropertyConfigurator.configure(MY_PROP_FILE); 
logger = Logger.getLogger(MyClaZZ.class); 
With: 

logger = ALogger.getLogger(MyClazz.class); 

參考:在使用的Log4j android

+0

哪個版本的log4j核心罐子可以兼容上面提到的android-logging-log4j? – jay