在我們開發中過程中有時候會有這樣的場景,需要脫離連線調試代碼,但是又看不見控制檯的Log,所以將Log存到文本中,調試過程全部記錄下來,隨時可以看。
存貯:
class func logWithTag(_ tag:String){
if logMode {
print(tag)
//將數據寫入log中,
let dataLogPath = NSHomeDirectory() + "/Documents/logData.txt"
let fileM = FileManager()
if !fileM.fileExists(atPath: dataLogPath) {
try! ("" as NSString).write(toFile: dataLogPath, atomically: true, encoding: String.Encoding.utf8.rawValue)
}
let dataLog = try! NSMutableString(contentsOfFile: dataLogPath, encoding: String.Encoding.utf8.rawValue)
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = formatter.string(from: Date())
let line = dateStr + " :" + tag + " \n"
dataLog.append(line)
try! dataLog.write(toFile: dataLogPath, atomically: true, encoding: String.Encoding.utf8.rawValue)
}
}
讀取:
let dataLogPath = NSHomeDirectory() + "/Documents/logData.txt"
let fileM = FileManager()
if !fileM.fileExists(atPath: dataLogPath) {
try! ("" as NSString).write(toFile: dataLogPath, atomically: true, encoding: String.Encoding.utf8.rawValue)
}
let dataLog = try! NSMutableString(contentsOfFile: dataLogPath, encoding: String.Encoding.utf8.rawValue)
self.logTV.text = dataLog as String
下面是demo:Demo代碼,原創請在github給個小星星,謝謝