同步操作将从 兰德网络O2OA平台软件/O2OA 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//// O2Logger.swift////// Created by 刘振兴 on 2017年6月2日.////import Foundationimport CocoaLumberjack//设置日志级别public let ddLogLevel:DDLogLevel = DDLogLevel.debug;class O2Logger {private static var fileLogger:DDFileLogger {var logFilePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).firstlogFilePath?.append("/logs")let fileManager = DDLogFileManagerDefault(logsDirectory: logFilePath)let ddFileLogger = DDFileLogger(logFileManager: fileManager)ddFileLogger.logFormatter = O2LoggerFormatter()return ddFileLogger}public static func startLogManager() {DDTTYLogger.sharedInstance.colorsEnabled = trueDDTTYLogger.sharedInstance.logFormatter = O2LoggerFormatter()//加入到consoleDDLog.add(DDTTYLogger.sharedInstance)//加入到Apple Log System//DDLog.add(DDASLLogger.sharedInstance)//加入到自定义文件//let fileLogger:DDFileLogger = DDFileLogger()fileLogger.rollingFrequency = TimeInterval(60*60*24)fileLogger.logFileManager.maximumNumberOfLogFiles = 7DDLog.add(fileLogger)DDLogInfo("DDLog is configuration")}public static func getLogFiles() -> [O2LogFileInfo] {//fileLogger.logFileManager.sortedLogFileInfosvar o2LogFiles:[O2LogFileInfo] = []let fileInfos = fileLogger.logFileManager.sortedLogFileInfosfor fileInfo in fileInfos {DDLogDebug(fileInfo.filePath)let logFile = O2LogFileInfo(filePath: fileInfo.filePath, fileName: fileInfo.fileName, creationDate: fileInfo.creationDate, modificationDate: fileInfo.modificationDate, fileSize: fileInfo.fileSize, age: fileInfo.age, isArchived: fileInfo.isArchived)o2LogFiles.append(logFile)}return o2LogFiles}public static func debug(_ message:String){DDLogDebug(message)}public static func info(_ message:String){DDLogInfo(message)}public static func warn(_ message:String){DDLogWarn(message)}public static func error(_ message:String){DDLogError(message)}}class O2LoggerFormatter: NSObject,DDLogFormatter {func format(message logMessage: DDLogMessage) -> String? {//Levelvar level:String = "U"switch logMessage.flag {case DDLogFlag.error:level = "E"breakcase DDLogFlag.warning:level = "W"breakcase DDLogFlag.info:level = "I"breakcase DDLogFlag.debug:level = "D"breakcase DDLogFlag.verbose:level = "V"breakdefault:level = "U"}//fileNamelet fileName = URL(fileURLWithPath: logMessage.file).lastPathComponent// functionlet fc = logMessage.function ?? ""//linelet lineNumber = String(logMessage.line)//timelet dateAndTime = logMessage.timestamp.toString("yyyy-MM-dd HH:mm:ss")//msglet msg = logMessage.messagereturn "\(dateAndTime)\(fileName)\(fc)\(lineNumber)\(level)\(msg)"}}struct O2LogFileInfo {var filePath: String!var fileName: String!var creationDate: Date!var modificationDate: Date!var fileSize: UInt64!var age: TimeInterval!var isArchived: Bool!var friendFileName:String {let comps = fileName.split(" ")if comps.count > 2 {return "\(comps[1])_\(comps[2])"}else{return fileName}}// init(_ filePath:String,_ fileName:String,creationDate:Date,_ modificationDate:Date,_ fileSize:UInt64,_ age:TimeInterval,_ isArchived:Bool) {// self.filePath = filePath// self.fileName = fileName// self.creationDate = creationDate// self.modificationDate = modificationDate// self.fileSize = fileSize// self.age = age// self.isArchived = isArchived// }}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。