0

我有交流程序,代码是

 setlogmask (LOG_UPTO (LOG_NOTICE));
 openlog ("thelog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
 syslog (LOG_NOTICE, "thelog : started by User %d", getuid ());
 syslog (LOG_INFO, "thelog: an info is logging");
 closelog();

代码工作正常但问题是日志被记录到文件 /var/log/messages ,我有 /etc/rsyslog.conf 没有和 syslog.conf

我希望将日志记录到新文件 /var/log/thelog.log 文件中

如何解决这个问题。

4

2 回答 2

3

如果您希望将 LOCAL1 记录到一个单独的文件中,您

  1. 通过正确编辑其配置文件来告诉 syslog
  2. 让 syslogd 通过发送一个kill -HUP.

配置

为 local1 添加一个特定的行,比如这个

local1.*                -/var/log/thelog.log

*.*;mail.none;news.none    -/var/log/messages

并从 local?.* 的配置中删除 local1

local0.*              -/var/log/localmessages
local2,local3.*       -/var/log/localmessages

配置文件准备好后

kill -HUP <pid-of-syslogd>
于 2013-07-08T12:53:09.347 回答
0

你需要把这个像 -

local1.*                        -/var/log/myfile.log
*.*;auth,authpriv.none              -/var/log/syslog

重新启动 syslogd 服务作为
sudo 服务 rsyslog 重新启动

于 2016-10-20T12:40:34.247 回答