当前位置: 首页 > wzjs >正文

网站搭建需要什么技术怎么做浏览器网站吗

网站搭建需要什么技术,怎么做浏览器网站吗,全球网站域名,做详情页不错的网站如何用Moya自定义插件打印网络请求日志 Moya本身不提供详细的日志打印功能,但可以通过自定义插件来实现。以下步骤展示如何创建并配置一个日志插件。 创建自定义日志插件 定义一个遵守PluginType协议的插件类,实现必要的协议方法: import…

如何用Moya自定义插件打印网络请求日志

Moya本身不提供详细的日志打印功能,但可以通过自定义插件来实现。以下步骤展示如何创建并配置一个日志插件。

创建自定义日志插件

定义一个遵守PluginType协议的插件类,实现必要的协议方法:

import Moyafinal class NetworkLoggerPlugin: PluginType {func willSend(_ request: RequestType, target: TargetType) {guard let urlRequest = request.request else { return }print("\n🚀 Request:")print("URL: \(urlRequest.url?.absoluteString ?? "")")print("Method: \(urlRequest.httpMethod ?? "")")print("Headers: \(urlRequest.allHTTPHeaderFields ?? [:])")if let body = urlRequest.httpBody, let bodyString = String(data: body, encoding: .utf8) {print("Body: \(bodyString)")}}func didReceive(_ result: Result<Response, MoyaError>, target: TargetType) {switch result {case .success(let response):print("\n✅ Response:")print("Status Code: \(response.statusCode)")print("Headers: \(response.response?.allHeaderFields ?? [:])")if let json = try? response.mapJSON() {print("Response Data: \(json)")} else if let string = try? response.mapString() {print("Response Data: \(string)")}case .failure(let error):print("\n❌ Error:")print("Error: \(error.localizedDescription)")}}
}

将插件添加到Moya Provider

创建Moya Provider实例时,将自定义插件添加到plugins数组中:

let provider = MoyaProvider<YourTargetType>(plugins: [NetworkLoggerPlugin()])

优化日志输出格式

如果需要更美观的日志输出,可以改进打印格式:

func willSend(_ request: RequestType, target: TargetType) {guard let urlRequest = request.request else { return }let output = """\n╔═══════════════════════════════════════════════════════════║ 🚀 Request║ URL: \(urlRequest.url?.absoluteString ?? "")║ Method: \(urlRequest.httpMethod ?? "")║ Headers: \(urlRequest.allHTTPHeaderFields ?? [:])║ Body: \(urlRequest.httpBody.flatMap { String(data: $0, encoding: .utf8) } ?? "None")╚═══════════════════════════════════════════════════════════"""print(output)
}

使用第三方日志库

对于更专业的日志记录,可以集成CocoaLumberjack等日志库:

import CocoaLumberjackfinal class NetworkLoggerPlugin: PluginType {func willSend(_ request: RequestType, target: TargetType) {DDLogInfo("Request: \(request.request?.url?.absoluteString ?? "")")}func didReceive(_ result: Result<Response, MoyaError>, target: TargetType) {switch result {case .success(let response):DDLogInfo("Response: \(response.statusCode)")case .failure(let error):DDLogError("Error: \(error.localizedDescription)")}}
}

过滤敏感信息

在打印日志时,建议过滤掉授权头等敏感信息:

func willSend(_ request: RequestType, target: TargetType) {guard let urlRequest = request.request else { return }var headers = urlRequest.allHTTPHeaderFields ?? [:]headers["Authorization"] = headers["Authorization"] != nil ? "*****" : nilprint("Headers: \(headers)")
}


文章转载自:

http://kNXsprqn.rwmqp.cn
http://7HmS9G6y.rwmqp.cn
http://PlMAQULm.rwmqp.cn
http://tTX049ye.rwmqp.cn
http://eCtzF5yn.rwmqp.cn
http://ptAs1zRQ.rwmqp.cn
http://DPqyRPWx.rwmqp.cn
http://lLPx72ho.rwmqp.cn
http://4uRMEIdZ.rwmqp.cn
http://pNELASUL.rwmqp.cn
http://ePALLzbc.rwmqp.cn
http://Jus7CEol.rwmqp.cn
http://j1npWIHz.rwmqp.cn
http://SpobPoTZ.rwmqp.cn
http://mALwwEBA.rwmqp.cn
http://jKtZBvJ5.rwmqp.cn
http://Obi2YugO.rwmqp.cn
http://q4fLq8A1.rwmqp.cn
http://ZzMJ50cy.rwmqp.cn
http://Y5QcgRpP.rwmqp.cn
http://AN6mppM0.rwmqp.cn
http://wkLEwLEI.rwmqp.cn
http://RKXt0z8s.rwmqp.cn
http://x8V4vIxy.rwmqp.cn
http://Y03DQKM6.rwmqp.cn
http://46b07Y6I.rwmqp.cn
http://Z0a3k9fm.rwmqp.cn
http://axy9hKL9.rwmqp.cn
http://rl6VzfE5.rwmqp.cn
http://6rljbwNP.rwmqp.cn
http://www.dtcms.com/wzjs/638833.html

相关文章:

  • 怎样做网站镜像wordpress开启多站点后台没显示
  • 关于行业网站建设意见江苏建设管理中心网站
  • 怎么建设一个响应式网站网站主机免费申请
  • 网站开发电子商务qq网页版登录网址
  • 福州网站建设福州河北秦皇岛黄金海岸
  • 中山网站设计90设计包图网
  • 通过关键词优化提升企业网站制作书签的作文
  • 高端html5网站建设备案域名出租
  • 网站建设项目策划书范文广州比较好的网站建设
  • 做网站商业计划书范文asp.net制作的网站开发
  • 网站地图页面seo修改器
  • 东莞建设网站的公司简介seo优化运营专员
  • 建站seo推广网站开发协议百度
  • WordPress快速添加图片跨境电商seo
  • 千元低价网站建设物流网站给做软件
  • 基于 seajs 的高性能网站开发和优化实践_王保平(淘宝)网站建设服务的具体条件
  • 网站建设推广优化有哪些基本方法网页制作题怎么编辑
  • 做外贸通常用哪些网站用什么软件做网站seo好
  • 做家装图接单网站seo怎么读
  • wordpress本地登录windows优化大师怎么使用
  • 常州自助建站seo做网站的越来越少了
  • 建网站教程wordpress有什么选什么用
  • 广西网站洛阳住房和城乡建设厅网站
  • 烤漆 东莞网站建设网站要懂代码
  • 网站描述作用免费oa管理系统
  • gzip压缩 wordpress三亚网站优化
  • 如何访问国外网站做网站可以不买域名和主机吗
  • 小学网站模板免费下载wordpress建站教程jiuyou
  • 网站需求分析的主要内容建e网室内设计网模型楼梯
  • 新浪云sae免费wordpress网站vue网页模板免费