臨時記一下吧,以後就直接複製貼上這裡面的好了。
實現一個日誌記錄程式的執行狀態,並且帶上時間資訊,可以寫一個類靈活呼叫。
MyLog.java
package com.example.networkaccessrestrictions;
import static android.content.ContentValues.TAG;
import android.content.Context;
import android.util.Log;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class MyLog {
private static final String LOG_FILE_NAME = "service_log.txt";//寫入日誌的檔名
private Context context;
// 建構函式,接收 Context
public MyLog(Context context) {
this.context = context;
}
public void writeLog(String message) {
File logFile = new File(context.getFilesDir(), LOG_FILE_NAME); // 使用內部儲存
// 獲取當前日期
LocalDateTime currentDateTime = LocalDateTime.now();//注意這裡用到的是currentDateTime,不是currentDate也不是currentDateTime
// 定義日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 格式化當前日期
String formattedDateTime = currentDateTime.format(formatter);
// 輸出格式化後的日期
//System.out.println("當前日期: " + formattedDateTime);
try (FileWriter fileWriter = new FileWriter(logFile, true); // 以追加模式開啟檔案
PrintWriter printWriter = new PrintWriter(fileWriter)) {
printWriter.println(formattedDateTime + ":" + message); // 寫入時間戳和訊息
} catch (IOException e) {
Log.e(TAG, "Error writing to log file", e);
}
}
}
在其他程式碼裡把活動寫入日誌時只需要
MyLog mylog=new MyLog(this);
mylog.writeLog("阿巴阿巴阿巴阿巴阿巴");
即可。
那麼要上哪找這個日誌檔案呢?
直接去/data/data/your.package.name/files/
目錄下找日誌就完事了。