Swoole v4.8.1 版本发布,支持忽略指定错误码的日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: v4.8.1 版本主要优化了 admin server 的代码,没有向下不兼容改动。

支持忽略指定的错误码日志


在此版本中增加了可以忽略指定的错误码所对应的错误日志,举个例子:

const LOG_FILE = __DIR__ . '/log';
if (is_file(LOG_FILE)) {
    unlink(LOG_FILE);
}
const ERRNO_1 = 888888;
const ERRNO_2 = 999999;
swoole_async_set(['log_file' => LOG_FILE]);
swoole_error_log(SWOOLE_LOG_NOTICE, 'swoole_error_log msg');
swoole_error_log_ex(SWOOLE_LOG_NOTICE, ERRNO_1, 'swoole_error_log_ex msg');
// 忽略错误码为ERRNO_2的日志
swoole_ignore_error(ERRNO_2);
swoole_error_log_ex(SWOOLE_LOG_NOTICE, ERRNO_2, 'swoole_error_log_ex ERRNO_2 msg');
echo file_get_contents(LOG_FILE);

忽略了错误码为ERRNO_2的日志,所以查看错误日志中没有swoole_error_log_ex ERRNO_2 msg的信息。

[2021-10-28 10:34:01 @23580.0]  NOTICE  swoole_error_log msg
[2021-10-28 10:34:01 @23580.0]  NOTICE  zif_swoole_error_log_ex() (ERRNO 888888): swoole_error_log_ex msg

同时也可以使用swoole_error_log_ex函数写入指定错误等级、错误码的日志到日志文件中。

Admin Server


此版本中优化了大量的 admin_server 的代码:

  • 迁移 ext-swoole_plus 中的 admin api 到 ext-swoole,可以使用 Swoole Dashboard 的全部功能


8.8.png

  • 支持了并发请求多个目标和并发请求多个 API,详情可以查看 RFC #78
  • 新增 get_composer_packages 命令,可以查看项目中的 composer 依赖信息


8.9.png

  • 支持获取某个类中的方法信息
  • 支持获取某个interface的信息

可以更新 swoole 版本后,前往 Swoole Dashboard 进行体验。

更新日志


下面是完整的更新日志:

新增 API

  • 新增 swoole_error_log_ex()swoole_ignore_error() 函数 (#4440) (@matyhtf)

增强

  • 迁移 ext-swoole_plus 中的 admin api 到 ext-swoole (#4441) (@matyhtf)
  • admin server 新增 get_composer_packages 命令 (swoole/library@07763f46) (swoole/library@8805dc05) (swoole/library@175f1797) (@sy-records) (@yunbaoi)
  • 增加了写操作的 POST 方法请求限制 (swoole/library@ac16927c) (@yunbaoi)
  • admin server 支持获取类方法信息 (swoole/library@690a1952) (@djw1028769140) (@sy-records)
  • 优化 admin server 代码 (swoole/library#128) (swoole/library#131) (@sy-records)
  • admin server 支持并发请求多个目标和并发请求多个 API (swoole/library#124) (@sy-records)
  • admin server 支持获取接口信息 (swoole/library#130) (@sy-records)
  • SWOOLE_HOOK_CURL 支持 CURLOPT_HTTPPROXYTUNNEL (swoole/library#126) (@sy-records)

修复

  • join 方法禁止并发调用同一个协程 (#4442) (@matyhtf)
  • 修复 Table 原子锁意外释放的问题 (#4446) (@Txhua) (@matyhtf)
  • 修复丢失的 helper options (swoole/library#123) (@sy-records)
  • 修复 get_static_property_value 命令参数错误 (swoole/library#129) (@sy-records)
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
消息中间件 安全 Dubbo
Log4j安全漏洞前车之鉴,呕心整理工作中常用开源组件避坑版本
Log4j安全漏洞前车之鉴,呕心整理工作中常用开源组件避坑版本
500 0
|
消息中间件 弹性计算 数据可视化
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
|
4月前
|
监控 关系型数据库 MySQL
|
3月前
|
弹性计算 Prometheus Cloud Native
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
|
2月前
|
缓存 Oracle Java
JDK8到JDK22版本升级的新特性问题之在JDK17中,日志的刷新如何操作
JDK8到JDK22版本升级的新特性问题之在JDK17中,日志的刷新如何操作
|
5月前
|
存储 监控 Serverless
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况【1月更文挑战第23天】【1月更文挑战第114篇】
98 5
|
IDE Linux 开发工具
IntelliJ IDEA 2023.2.1 修复版本日志
IntelliJ IDEA 2023.2.1 修复版本日志
|
Linux CDN
利用工具合并CDN日志操作——Linux版本
利用工具合并CDN日志操作——Linux版本自制脑图
153 0
利用工具合并CDN日志操作——Linux版本
|
CDN Windows
利用工具合并CDN日志操作——Windows版本
利用工具合并CDN日志操作——Windows版本自制脑图
128 0
利用工具合并CDN日志操作——Windows版本