美文网首页
自定义Log

自定义Log

作者: 阿狸小妖 | 来源:发表于2016-10-09 09:52 被阅读57次

    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)")
        }
    }
    

    相关文章

      网友评论

          本文标题:自定义Log

          本文链接:https://www.haomeiwen.com/subject/ucypyttx.html