我是linux C编程的新手
我正在尝试在CentOS主机上编写服务运行,log4c作为我的日志记录模块。
在开发和debbugging期间一切正常,但是当我最终安装并运行它作为服务时,没有创建任何日志。 但是如果我通过shell启动它,那么日志记录似乎很完美。
启动服务的脚本只是:
daemon MyService -c 0
首先输入
./Myservice -c 0
并显示日志
请帮助,我在哪里弄错了什么?
哦,以下是相关代码:
// ---------------------- wrapper.h ------------------
#define SL_LOG_TRACE(cat, fmt, args...) { \
const log4c_location_info_t locinfo = LOG4C_LOCATION_INFO_INITIALIZER(NULL); \
log4c_category_log_locinfo(cat, &locinfo, LOG4C_PRIORITY_TRACE, fmt, ##args); }\
// ---------------------- main.c中-------------------- -
void SomeFunc()
{
...
SL_LOG_TRACE(g_cat, "some logs");
...
// ---------------- log4c资源--------------
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE log4c SYSTEM "">
<log4c version="1.2.1">
<config>
<bufsize>0</bufsize>
<debug level="2"/>
<nocleanup>0</nocleanup>
<reread>1</reread>
</config>
<category name="FileLogger" priority="trace" appender="myrollingfileappender"/>
<appender name="myrollingfileappender" type="rollingfile" logdir="." prefix="sl_log" layout="dated" rollingpolicy="myrollingpolicy"/>
<rollingpolicy name="myrollingpolicy" type="sizewin" maxsize="102400" maxnum="10"/>
// ------------------ LOG4C_RCPATH = “/ somedir /登录” ------------------- -