我有這樣的代碼的Apache模塊在我的工作,這是使用ap_hook_child_init()註冊地:ap_log_error不記錄在我的Apache模塊
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回調期間,不能發出日誌消息嗎?如果不是,我還可以記錄一個孩子是否被初始化?
好的。我做了一些其他的測試,我確定它被調用。我做的明顯的測試是在請求處理程序中檢查NULL,然後將對'mc_alloc()'的調用註釋掉,然後重試。結果是不同的,所以現在我確定了。 – mlibby