0

我是 linux C 编程新手

我正在尝试在 CentOS 主机上编写一个运行服务,log4c 用作我的日志记录模块。

在开发和调试过程中一切正常,但是当我最终将它作为服务安装并运行时,没有创建任何日志。但如果我通过 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/log"------------------

4

0 回答 0