RemoteLogging
RemoteLogging 是一个用于 iOS、macOS 和 tvOS 的网页框架的打印日志框架,用 Swift 编写。这是一个早期版本,API 仍然不稳定
平台
- iOS 9.0+
- tvOS 9.0+
- macOS 10.10+
安装
Swift 包管理器
Swift 包管理器是用于自动化 Swift 代码分发的一个工具。
从 Xcode 11 及更高版本开始,集成了对 Swift 包管理器的支持。您可以通过选择文件 - Swift 包 - 添加包依赖项选项将 RemoteLogging 添加到项目中。使用以下指定的仓库 url,并选择您要使用的版本。
或者,您可以通过在项目中手动添加包含以下内容的 Package.swift 文件:
dependencies: [
.package(url: "https://github.com/E13Lau/RemoteLogging.git")
]
Cocoapods
pod "RemoteLoggingKit"
使用方法
你可以这样使用 RemoteLogHandler:
var logger = Logger(label: "Example logger") { (label) -> LogHandler in
let server = LocalServer()
server.runServer(port: 50113)
return RemoteLogHandler(label: label, server: server)
}
logger.debug("🎉")
然后打开以下链接: http://{设备主机名或IP地址}:50113/
。日志将在网页中打印。
或者,你可以使用 LoggingSystem.bootstrap() 方法全局设置默认日志记录器。
LocalServer.default.runServer()
LoggingSystem.bootstrap { (label) -> LogHandler in
var handler = MultiplexLogHandler([
RemoteLogHandler(label: label, server: LocalServer.default),
StreamLogHandler.standardOutput(label: label),
])
handler.logLevel = .trace
return handler
}
完成后,使用 Logger(label:) 初始化器创建的任何后续 Logger 实例将默认使用指定的处理程序。
var log = Logger(label: "Example")
log.debug("🎉")
LocalServer.default 是一个静态 HTTP 服务器,默认端口为 9777
然后打开以下链接: http://{设备主机名或IP地址}:9777/
。日志将在网页中打印。
待办事项
- 过滤日志
许可协议
RemoteLogging 在 MIT 许可协议下发布。
中文说明
RemoteLoggingKit 是一个使用 Swift 编写的可以通过 web 页面查看 App 的调试日志的工具。这是一个早期版本,API 还未稳定。
支持平台
- iOS 9.0+
- tvOS 9.0+
- macOS 10.10+
安装
Swift软件包管理器
Swift软件包管理器是用于自动分发Swift代码的工具。
从 Xcode 11 及更高版本开始,集成了对 Swift 包管理器的支持。您可以通过选择文件 - Swift 包 - 添加包依赖项选项将 RemoteLogging 添加到项目中。使用以下指定的仓库 url,并选择您要使用的版本。
或者,您可以通过在项目中手动添加包含以下内容的 Package.swift 文件:
dependencies: [
.package(url: "https://github.com/E13Lau/RemoteLogging.git")
]
CocoaPods
pod "RemoteLoggingKit"
使用
你可以这样使用
var logger = Logger(label: "Example logger") { (label) -> LogHandler in
let server = LocalServer()
server.runServer(port: 50113)
return RemoteLogHandler(label: label, server: server)
}
logger.debug("🎉")
然后局域网内任意机器打开链接 http://{调试设备的 hostname 或者 IP地址}:50113/
调试日志将显示在页面上。
或者,你可以使用 LoggingSystem.bootstrap() 函数来配置全局默认 LogHandler。
LocalServer.default.runServer()
LoggingSystem.bootstrap { (label) -> LogHandler in
var handler = MultiplexLogHandler([
RemoteLogHandler(label: label, server: LocalServer.default),
StreamLogHandler.standardOutput(label: label),
])
handler.logLevel = .trace
return handler
}
完成此操作后,使用 Logger(label :) 初始化程序创建的任何后续Logger实例将默认为指定的处理程序。
var log = Logger(label: "Example")
log.debug("🎉")
LocalServer.default 是一个静态http服务,默认端口为9777,然后局域网内任意机器打开链接 http://{调试设备的 hostname 或者 IP地址}:50113/
调试日志将显示在页面上。