我在我正在处理的 apache 模块中有这段代码,它是使用 ap_hook_child_init() 注册的:
static class_name *mc;
static void child_init(apr_pool_t *pool, server_rec *s)
{
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "this pointer should be null: %pp", mc);
mc = mc_alloc();
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "this pointer should not be null: %pp", mc);
}
问题:我没有看到这些日志消息!
我确信这个函数正在被调用并且调用mc_alloc()
正在工作,因为当我从模块的其他部分(如在请求处理程序中)登录时,我看到了日志消息并获得了指针的有效结果。这也告诉我日志记录正在工作。
是我的代码错误还是我的期望?在 ap_hook_child_init 回调期间不能发出日志消息吗?如果没有,我还能如何记录一个孩子被初始化?