php7.1.6 SeasLog 1.8.4 linux环境不生成日志是什么原因?

php7.1.6 SeasLog 1.8.4 linux环境不生成日志是什么原因?
SeasLog 切回1.6.9就可以生成日志

阅读 2.3k
1 个回答

看了源码,是1.8.4版本的bug,之前版本是seaslog.level默认为0,记录所有日志
1.8.4版本的顺序是反过来的,0为仅记录紧急日志,建议仍使用之前的版本,等作者修复后再使用
配置文件中的seaslog.level并不能改变SeasLog的日志级别

1.8.4 日志级别
#define SEASLOG_ALL_INT                     8
#define SEASLOG_DEBUG_INT                   7
#define SEASLOG_INFO_INT                    6
#define SEASLOG_NOTICE_INT                  5
#define SEASLOG_WARNING_INT                 4
#define SEASLOG_ERROR_INT                   3
#define SEASLOG_CRITICAL_INT                2
#define SEASLOG_ALERT_INT                   1
#define SEASLOG_EMERGENCY_INT               0

如果要使用1.8.4进行记录日志,请取PECL下载1.8.4 SeasLog 源码包
将源文件/Path/To/SeasLog-1.8.4/seaslog.c中

PHP_MINIT_FUNCTION(seaslog)
{
    ...
    SEASLOG_G(level) = SEASLOG_ALL_INT;//Line 224
}

函数中添加对日志级别level初始化的操作,然后进行编译安装

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题