困惑的log_trace函数

时间:2012-03-28 09:44:51

标签: c++ plugins webserver lighttpd

我是一个非常天真的编程学生,对于lighttpd来说是全新的。我试图了解如何构建一个简单的“Hello world”插件。我从一本书中找到了代码。代码如下。

#includes "base.h"
#includes "log.h"
#includes "plugin.h"
#ifdef HAVE_CONFIG_H
#includes "config.h"
#endif

typedef struct { PLUGIN_DATA; /* no config */ } plugin_data;

INIT_FUNC(mod_helloworld_init) {
  plugin_data *p;
  UNUSED(srv);
  p = calloc(1, sizeof(*p));
  log_trace("Hello, World!");
  return p;
}

FREE_FUNC(mod_helloworld_free) {
  plugin_data *p = p_d;
  UNUSED(srv);
  if (p) free(p);
  return HANDLER_GO_ON;
}

int mod_helloworld_plugin_init(plugin *p) {
  p->version = LIGHTTPD_VERSION_ID;
  p->name = buffer_init_string("helloworld");
  p->init = mod_helloworld_init;
  p->cleanup = mod_helloworld_free;
  p->data = NULL;
  return 0;
}

在上面提到的代码中,我不明白函数“log_trace”是如何工作的。我发现它不是C ++中的预定义函数。好像它必须由程序员自己编写。你能解释一下它是如何起作用的吗?

1 个答案:

答案 0 :(得分:0)

log_trace函数可能在log.h头文件中声明或定义。有关详细信息,请参阅该头文件。