1.添加Debug调试模式
Targets > Building Settings > Custom Flags 添加 Debug
图1.png
2.自定义Log
/*
自定义LOG的目的:
在开发阶段自动显示LOG
在发布阶段自动屏蔽LOG
print(__FUNCTION__) // 打印所在的方法
print(__LINE__) // 打印所在的行
print(__FILE__) // 打印所在文件的路径
方法名称[行数]: 输出内容
*/
func LLPrint<T>(_ message: T, method: String = #function, line: Int = #line, file: String = #file)
{
#if DEBUG
//获取文件名
let fileName = (file as NSString).lastPathComponent
let logStr = "\(fileName)-\(method)[\(line)]: \(message)"
print(logStr)
#endif
}
3.Log保存到本地文件
/// log写入文件
func logOutputInFile(logstr: String) {
// 创建一个日期格式器
let dformatter = DateFormatter()
// 为日期格式器设置格式字符串
dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
// 使用日期格式器格式化当前日期、时间
let datestr = dformatter.string(from: Date())
dformatter.dateFormat = "yyyy-MM-dd"
// 使用日期格式器格式化当前日期、时间
let datelog = dformatter.string(from: Date())
let logURLStr = "///Users/username/Desktop/\(datelog)-log.txt"
let logURL = URL(fileURLWithPath: logURLStr)
appendText(fileURL: logURL, string: "\(datestr) \(logstr)")
}
/// 在文件末尾追加新内容
func appendText(fileURL: URL, string: String) {
do {
//如果文件不存在则新建一个
if !FileManager.default.fileExists(atPath: fileURL.path) {
FileManager.default.createFile(atPath: fileURL.path, contents: nil)
}
let fileHandle = try FileHandle(forWritingTo: fileURL)
let stringToWrite = "\n" + string
//找到末尾位置并添加
fileHandle.seekToEndOfFile()
fileHandle.write(stringToWrite.data(using: String.Encoding.utf8)!)
} catch let error as NSError {
print("failed to append: \(error)")
}
}
网友评论