默認情況下,android中的Log類將日誌寫入控制檯(logcat)。有沒有簡單的方法來寫日誌f.e.在一些文件?Android將日誌寫入文件
5
A
回答
0
1
如果這僅僅是用於開發目的,您可以在設備上調用logcat的,其輸出重定向到一個文件。例如:adb shell logcat > log.txt
。
或者,你可以嘗試重定向stdout
和stderr
到一個文件,iirc這將工作,但我沒有我的手機與我來測試它。
但是,將自己的基本日誌類與內置的日誌類做同樣的事情並保存到文件中會更容易。
0
在Eclipse ddms中有一個選項可以將日誌保存到文件中。
3
簡單Log
類(僅限開發/測試用途)類似於android.util.Log
,但記錄到SD卡。只有修改現有的代碼才能將import android.util.Log
更改爲import com.example.Log
。此外,添加許可爲<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
package com.example.logger;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Environment;
public class Log {
private static final String NEW_LINE = System.getProperty("line.separator") ;
public static boolean mLogcatAppender = true;
final static File mLogFile;
static {
mLogFile = new File(Environment.getExternalStorageDirectory(), "logs.log");
if (!mLogFile.exists()) {
try {
mLogFile.createNewFile();
}
catch (final IOException e) {
e.printStackTrace();
}
}
logDeviceInfo();
}
public static void i(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.i(TAG, message);
}
}
public static void d(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.d(TAG, message);
}
}
public static void e(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.e(TAG, message);
}
}
public static void v(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.v(TAG, message);
}
}
public static void w(String TAG, String message) {
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.w(TAG, message);
}
}
private static synchronized void appendLog(String text) {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
final FileWriter fileOut = new FileWriter(mLogFile, true);
fileOut.append(sdf.format(new Date()) + " : " + text + NEW_LINE);
fileOut.close();
}
catch (final IOException e) {
e.printStackTrace();
}
}
private static void logDeviceInfo() {
appendLog("Model : " + android.os.Build.MODEL);
appendLog("Brand : " + android.os.Build.BRAND);
appendLog("Product : " + android.os.Build.PRODUCT);
appendLog("Device : " + android.os.Build.DEVICE);
appendLog("Codename : " + android.os.Build.VERSION.CODENAME);
appendLog("Release : " + android.os.Build.VERSION.RELEASE);
}
}
+0
有幫助的哥們..! –
相關問題
- 1. 將日誌寫入文件
- 2. 將事件日誌寫入文件,powershell
- 3. log4j不將日誌寫入文件
- 4. 如何將ApScheduler日誌寫入文件?
- 5. Python - 將日誌寫入文件
- 6. 在Android中將日誌數據寫入/讀入文件
- 7. 寫入日誌文件
- 8. powershell寫入日誌文件
- 9. C#寫入日誌文件
- 10. 將日誌消息寫入日誌文件中openscript
- 11. 將docker日誌寫入外部日誌文件
- 12. perl將日誌db查詢錯誤寫入日誌文件
- 13. android將日誌語句寫入sdcard
- 14. 日誌無法寫入日誌文件,但寫的classpath 安慰
- 15. C# - 使用字符串生成器將日誌文件寫入日誌文件
- 16. 如何將.CMD文件的日誌寫入文本文件?
- 17. Java將日誌寫入文本
- 18. 將IRC日誌寫入文件,每天有一個文件
- 19. (Java)將事件寫入日誌文本文件
- 20. 的Android,NDK,寫日誌文件
- 21. 如何寫入日誌文件?
- 22. 用C寫入日誌文件#
- 23. CFLOG不會寫入日誌文件
- 24. 的Log4j不能寫入日誌文件
- 25. 日誌文件名三通寫入
- 26. boost日誌文件沒有寫入
- 27. 如何在文件中寫入日誌?
- 28. C#複選框日誌文件寫入
- 29. Progress-4GL寫入日誌文件
- 30. 停止Debug.Assert寫入日誌文件
如果你把剛剛打開一個文件句柄和寫有一個天真的做法 - 你會寫你的Android設備上的文件系統,而你需要的是可能開發機器上的文件系統? – justadreamer
是否要將logcat消息導出到文件或只是在文件中寫入日誌消息? – SERPRO
我想將logcat消息導出到文件中。 –