Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何配置syslog,使应用程序日志转到特定文件_C++_Linux_Syslog_Rsyslog - Fatal编程技术网

C++ 如何配置syslog,使应用程序日志转到特定文件

C++ 如何配置syslog,使应用程序日志转到特定文件,c++,linux,syslog,rsyslog,C++,Linux,Syslog,Rsyslog,我有一个应用程序myapp,它应该只将日志文件发送到/var/log/myapp.log MyApp是用C++编写的。以下示例代码仅将日志发送到/var/log/syslog。具体来说,我的操作系统是Linux-Ubuntu12.04。我还发现我的机器安装了rsyslog而不是syslog #include <stdio.h> #include <unistd.h> #include <syslog.h> int main(void) { openl

我有一个应用程序
myapp
,它应该只将日志文件发送到
/var/log/myapp.log
<代码> MyApp是用C++编写的。以下示例代码仅将日志发送到/var/log/syslog。具体来说,我的操作系统是Linux-Ubuntu12.04。我还发现我的机器安装了rsyslog而不是syslog

#include <stdio.h>
#include <unistd.h>
#include <syslog.h>

int main(void) {
    openlog("myapp", LOG_PID|LOG_CONS, LOG_USER);
    syslog(LOG_INFO, "abc 10");
    closelog();
    return 0;
}
#包括
#包括
#包括
内部主(空){
openlog(“myapp”,LOG|PID | LOG|CONS,LOG|USER);
系统日志(日志信息,“abc 10”);
closelog();
返回0;
}
根据syslog(3)手册页,openlog()的第一个参数为日志消息设置前缀,而不是文件名。
您可以使用LOG_LOCAL0之类的工具来标记输出,然后将这些日志发送到所需的文件。

如何配置syslog.conf,以便将来自我的应用程序的日志消息发送到特定文件?写入一个简单的文件不是一个好的解决方案-阅读此链接和@suresh给出的答案。您可以通过在每个答案后从“共享”链接复制链接位置,直接提供指向答案的链接。像这样-