红联Linux门户
Linux帮助

程序生成的日志问题

发布时间:2009-03-02 11:44:07来源:红联作者:xgyz1820
请大家教一个问题:
就是我自己的程序生成的错误日志,我调用了下面的函数
int mylog_init(char* prefix);
int mylog_setdir(char* logdir);
int mylog_write(char* logmsg);
int mylog_close();
把错误信息输出到指定的目录。

我想问问:能不能调用系统的函数,不改动syslog.conf的配置文件,在程序中设定日志生成的路径呢?
先谢谢大家了!!!
文章评论

共有 8 条评论

  1. michrykitty 于 2009-03-09 15:28:38发表:

    学习了:0wmjh(1

  2. wang7131984 于 2009-03-02 13:44:38发表:

    你的这个问题很好~,不用自己定义函数,可以用宏定义来区分一般的输出和日志输出,这样也会增加程序的灵活性

  3. xgyz1820 于 2009-03-02 13:36:37发表:

    谢谢了!

  4. wang7131984 于 2009-03-02 13:31:03发表:

    fprintf(FILE *, format, logmessage);

  5. xgyz1820 于 2009-03-02 12:52:14发表:

    这三个调用是把日志输出到 /etc/syslog.conf 配置文件中设定的对应路径的文件里头。可以改变这里的设置,实现把不同的日志输出到不同文件里头。
    现在的情况是:
    不改变/etc/syslog.conf 配置文件,来实现把日志输出到我指定的文件里头。
    非常感谢你的帮助!!!!

  6. wang7131984 于 2009-03-02 12:32:01发表:

    上面三个系统调用

  7. xgyz1820 于 2009-03-02 12:23:22发表:

    可能是我没有说清楚。我的意思是,linux有没有自带的函数,我的程序允许中,通过调用它(它们),把我的程序运行的错误信息输出到一个指定的文件里头。而不需要用自己写的mylog_write(char* logmsg)等函数。

  8. wang7131984 于 2009-03-02 11:51:04发表:

    :0w5ty(1不知道你说些什么~,
    #include
    openlog
    syslog
    closelog
    这三个是在程序中使用日志而不是直接输出程序可能需要返回的消息的系统调用。
    使用man 3 syslog调用查看其用法,一般只有守护进程才会使用