
新增.gitignore、Podfile和Podfile.lock文件以管理项目依赖,添加README.md文件提供项目简介和安装步骤,创建NIMSessionManager、ClientConfig、LogManager和NetworkManager等管理类以支持网络请求和日志记录功能,更新AppDelegate和ContentView以集成NIM SDK和实现用户登录功能。
51 lines
1.5 KiB
Swift
51 lines
1.5 KiB
Swift
import Foundation
|
||
|
||
/// 日志等级
|
||
public enum LogLevel: Int {
|
||
case verbose = 0
|
||
case debug
|
||
case info
|
||
case warn
|
||
case error
|
||
}
|
||
|
||
public class LogManager {
|
||
/// 单例
|
||
public static let shared = LogManager()
|
||
private init() {}
|
||
|
||
/// 日志输出
|
||
/// - Parameters:
|
||
/// - level: 日志等级
|
||
/// - message: 日志内容
|
||
/// - onlyRelease: 是否仅在 Release 环境输出(默认 false,Debug 全部输出)
|
||
public func log(_ level: LogLevel, _ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
#if DEBUG
|
||
if onlyRelease { return }
|
||
print("[\(level)] \(message())")
|
||
#else
|
||
print("[\(level)] \(message())")
|
||
#endif
|
||
}
|
||
}
|
||
|
||
// MARK: - 快捷方法
|
||
public func logVerbose(_ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
LogManager.shared.log(.verbose, message(), onlyRelease: onlyRelease)
|
||
}
|
||
|
||
public func logDebug(_ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
LogManager.shared.log(.debug, message(), onlyRelease: onlyRelease)
|
||
}
|
||
|
||
public func logInfo(_ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
LogManager.shared.log(.info, message(), onlyRelease: onlyRelease)
|
||
}
|
||
|
||
public func logWarn(_ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
LogManager.shared.log(.warn, message(), onlyRelease: onlyRelease)
|
||
}
|
||
|
||
public func logError(_ message: @autoclosure () -> String, onlyRelease: Bool = false) {
|
||
LogManager.shared.log(.error, message(), onlyRelease: onlyRelease)
|
||
} |