Swoole v4.5.8 版本发布,新增 swoole_error_log函数并优化log rotation 参数

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Swoole v4.5.8 版本已经发布了,在这个版本中增加了 swoole_error_log 函数,用户可以手动调用此函数将错误信息输入到日志中。

Swoole v4.5.8 版本已经发布了,在这个版本中增加了 swoole_error_log 函数,用户可以手动调用此函数将错误信息输入到日志中。

并且还优化了 Server 的 log_rotation 参数,可能有些小伙伴还不知道这个参数有什么用:

它是用来设置 Server 日志分割,默认不启用,之前的版本仅支持按天分割,在这个版本中支持了按月、按小时和按分钟进行分割。

$server->set([
    'log_file' => 'swoole.log',
    'log_rotation' => SWOOLE_LOG_ROTATION_HOURLY, //每小时
]);

不仅仅是这些,在这个版本中还支持了更多的 cURL 选项,同时修复了由于设置了 CURLOPT_WRITEFUNCTION 所导致的一些问题,以及在处理 content-type header 的时候没有区分名字大小写导致被覆盖问题。

还没有结束,在之后的版本中将会使用另外的一种方式支持 Hook cURL,敬请期待~

下面来看看此版本的更新日志


更新日志


新增 API

  • 新增 swoole_error_log 函数,优化 log_rotation (swoole/swoole-src@67d2bff) (@matyhtf)
  • readVector 和 writeVector 支持 SSL (#3857) (@huanghantao)


增强

  • 当子进程退出后,让 System::wait 退出阻塞 (#3832) (@matyhtf)
  • DTLS 支持 16K 的包 (#3849) (@matyhtf)
  • Response::cookie 方法支持 priority 参数 (#3854) (@matyhtf)
  • 支持更多的 CURL 选项 (swoole/library#71) (@sy-records)
  • 处理 CURL HTTP header 没有区分名字大小写导致被覆盖问题 (swoole/library#76) (@filakhtov) (@twose) (@sy-records)


修复

  • 修复 readv_all 和 writev_all 错误处理 EAGAIN 的问题 (#3830) (@huanghantao)
  • 修复 PHP8 编译警告的问题 (swoole/swoole-src@03f3fb0) (@matyhtf)
  • 修复 SwooleTable 二进制安全的问题 (#3842) (@twose)
  • 修复 MacOS 下 System::writeFile 追加文件覆盖的问题 (swoole/swoole-src@a71956d) (@matyhtf)
  • 修复 CURL 的 CURLOPT_WRITEFUNCTION (swoole/library#74) (swoole/library#75) (@sy-records)
  • 修复解析 HTTP form-data 时内存溢出的问题 (#3858) (@twose)
  • 修复在 PHP8 中 is_callable() 无法访问类私有方法的问题 (#3859) (@twose)


内核

  • 重构内存分配函数,使用 SwooleG.std_allocator (#3853) (@matyhtf)
  • 重构管道 (#3841) (@matyhtf)


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
2月前
|
人工智能 JSON 安全
无需复杂正则:SLS 新脱敏函数让隐私保护更简单高效
SLS 推出 mask 脱敏函数,支持 keyword 和 buildin 模式,简化敏感数据识别与处理,提升脱敏效率与性能,适用于结构化及非结构化日志。
193 24
|
1月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
180 6
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
535 5
|
6月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
798 54
|
7月前
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
198 0
优化 Apache 日志记录的 5 个最佳实践
|
9月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
241 3
|
8月前
|
SQL 数据库
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
1288 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
269 1
|
JSON 监控 JavaScript
Node.js-API 限流与日志优化
Node.js-API 限流与日志优化

热门文章

最新文章