Swoole v4.8.1 版本发布,支持忽略指定错误码的日志
2023-03-14 22:35:30 时间
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 的全部功能
- 支持了并发请求多个目标和并发请求多个 API,详情可以查看 RFC #78
- 新增 get_composer_packages 命令,可以查看项目中的 composer 依赖信息
- 支持获取某个类中的方法信息
- 支持获取某个
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)
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?