该程序不会在任何地方打印系统日志?
This program doesn't print syslogs anywhere?
我正在使用fc19,刚才我已经安装了syslog-ng。看起来系统日志不再可用于 fc19。我启动了 syslog-ng 服务。系统日志-ng 的状态为正在运行。这是我的程序。我不知道它在哪里记录输出。
#include<iostream>
#include<ctime>
#include<syslog.h>
#include <unistd.h>
using namespace std;
class my_syslog
{
private:
int m_sys;
public:
my_syslog(int init);
void get_time();
};
my_syslog::my_syslog(int init):m_sys(init)
{
cout<<"Constructor called"<<endl;
}
void my_syslog::get_time()
{
time_t now = time(0);
tm* localtm = localtime(&now);
//cout << "SJ:The local date and time is: " << asctime(localtm) << endl;
// Convert now to tm struct for UTC
//tm* gmtm = gmtime(&now);
//if (gmtm != NULL) {
//cout << "The UTC date and time is: " << asctime(gmtm) << endl;
//}
syslog (LOG_INFO, "SJ:The local date and time is: %s",asctime(localtm));
}
int main(int argc, char **argv)
{
my_syslog instant(100);
for(int i = 0; i<=10;i++)
{
instant.get_time();
sleep(10);
}
cout<<"Program End"<<endl;
return 0;
}
/etc/syslog-ng/syslog-ng.conf 如下。
@version:3.3
# syslog-ng configuration file.
#
# This should behave pretty much like the original syslog on RedHat. But
# it could be configured a lot smarter.
#
# See syslog-ng(8) and syslog-ng.conf(5) for more information.
#
# Note: it also sources additional configuration files (*.conf)
# located in /etc/syslog-ng/conf.d/
options {
flush_lines (0);
time_reopen (10);
log_fifo_size (1000);
chain_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
};
source s_sys {
file ("/proc/kmsg" program_override("kernel") flags(kernel));
unix-dgram ("/dev/log");
internal();
# udp(ip(0.0.0.0) port(514));
};
destination d_cons { file("/dev/console"); };
destination d_mesg { file("/var/log/messages"); };
destination d_auth { file("/var/log/secure"); };
destination d_mail { file("/var/log/maillog" flush_lines(10)); };
destination d_spol { file("/var/log/spooler"); };
destination d_boot { file("/var/log/boot.log"); };
destination d_cron { file("/var/log/cron"); };
destination d_kern { file("/var/log/kern"); };
destination d_mlal { usertty("*"); };
filter f_kernel { facility(kern); };
filter f_default { level(info..emerg) and
not (facility(mail)
or facility(authpriv)
or facility(cron)); };
filter f_auth { facility(authpriv); };
filter f_mail { facility(mail); };
filter f_emergency { level(emerg); };
filter f_news { facility(uucp) or
(facility(news)
and level(crit..emerg)); };
filter f_boot { facility(local7); };
filter f_cron { facility(cron); };
#log { source(s_sys); filter(f_kernel); destination(d_cons); };
log { source(s_sys); filter(f_kernel); destination(d_kern); };
log { source(s_sys); filter(f_default); destination(d_mesg); };
log { source(s_sys); filter(f_auth); destination(d_auth); };
log { source(s_sys); filter(f_mail); destination(d_mail); };
log { source(s_sys); filter(f_emergency); destination(d_mlal); };
log { source(s_sys); filter(f_news); destination(d_spol); };
log { source(s_sys); filter(f_boot); destination(d_boot); };
log { source(s_sys); filter(f_cron); destination(d_cron); };
# Source additional configuration files (.conf extension only)
@include "/etc/syslog-ng/conf.d/*.conf"
# vim:ft=syslog-ng:ai:si:ts=4:sw=4:et:
请帮助解决这里出现的问题。
在使用syslog()
之前,您需要openlog()
.
相关文章:
- 为什么系统日志有两个不同的函数声明?
- C++ 添加编译器警告,以错误使用自定义打印/日志功能
- 如何使系统在十六进制数之前打印 0x,在八进制数之前打印 0?
- 如何从文件系统打印特定名称文件
- c++ GDI 打印导致系统冻结
- 系统日志不转发远程消息
- 将系统命令打印到文本文件 C++
- 使用 log4cplus 将日志发送到远程系统日志服务器的代码是否正确
- 多线程日志打印先验C
- 如何在Windows日语系统中打印日语字符
- 如何通过 boost::log 打印到具有不同属性的不同日志?
- 事件记录API未写入系统日志
- 为什么 bash 在进程死后不打印"Broken pipe"日志?
- C++中央日志记录系统
- 该程序不会在任何地方打印系统日志?
- 为什么 printf 可以屏蔽竞争条件,而系统日志不能?
- 使用Windows技术检测复制,粘贴,打印系统命令
- 从 GLOG 执行系统日志时如何更改标签'UNKNOWN'?
- 打印到日志的PUNICODE_STRING
- 获取Ubuntu系统日志中的wxLogSysError