Syslog with C++

13 篇文章 0 订阅
3 篇文章 0 订阅

syslog

priorities/facilities are encoded into a single 32-bit quantity, where the
bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
(0-big number). Both the priorities and the facilities map roughly
one-to-one to strings in the syslogd(8) source code. This mapping is
included in this file.

priorities (these are ordered)

#define LOG_EMERG       0               /* system is unusable */
#define LOG_ALERT       1               /* action must be taken immediately */
#define LOG_CRIT        2               /* critical conditions */
#define LOG_ERR         3               /* error conditions */
#define LOG_WARNING     4               /* warning conditions */
#define LOG_NOTICE      5               /* normal but significant condition */
#define LOG_INFO        6               /* informational */
#define LOG_DEBUG       7               /* debug-level messages */

facility codes

#define LOG_KERN        (0<<3)          /* kernel messages */
#define LOG_USER        (1<<3)          /* random user-level messages */
#define LOG_MAIL        (2<<3)          /* mail system */
#define LOG_DAEMON      (3<<3)          /* system daemons */
#define LOG_AUTH        (4<<3)          /* security/authorization messages */
#define LOG_SYSLOG      (5<<3)          /* messages generated internally by syslogd */
#define LOG_LPR         (6<<3)          /* line printer subsystem */
#define LOG_NEWS        (7<<3)          /* network news subsystem */
#define LOG_UUCP        (8<<3)          /* UUCP subsystem */
#define LOG_CRON        (9<<3)          /* clock daemon */
#define LOG_AUTHPRIV    (10<<3)         /* security/authorization messages (private) */
#define LOG_FTP         (11<<3)         /* ftp daemon */

other codes through 15 reserved for system use */

#define LOG_LOCAL0      (16<<3)         /* reserved for local use */
#define LOG_LOCAL1      (17<<3)         /* reserved for local use */
#define LOG_LOCAL2      (18<<3)         /* reserved for local use */
#define LOG_LOCAL3      (19<<3)         /* reserved for local use */
#define LOG_LOCAL4      (20<<3)         /* reserved for local use */
#define LOG_LOCAL5      (21<<3)         /* reserved for local use */
#define LOG_LOCAL6      (22<<3)         /* reserved for local use */
#define LOG_LOCAL7      (23<<3)         /* reserved for local use */

Option flags for openlog.

LOG_ODELAY no longer does anything.
LOG_NDELAY is the inverse of what it used to be.

#define LOG_PID         0x01            /* log the pid with each message */
#define LOG_CONS        0x02            /* log on the console if errors in sending */
#define LOG_ODELAY      0x04            /* delay open until first syslog() (default) */
#define LOG_NDELAY      0x08            /* don't delay open */
#define LOG_NOWAIT      0x10            /* don't wait for console forks: DEPRECATED */
#define LOG_PERROR      0x20            /* log to stderr as well */

closelog

void closelog (void);

Close descriptor used to write to system logger.
This function is a possible cancellation point and therefore not
marked with __THROW.

openlog

void openlog (const char *__ident, int __option, int __facility);

Open connection to system logger.
This function is a possible cancellation point and therefore not
marked with __THROW.

setlogmask

int setlogmask (int __mask) __THROW;

Set the log mask level.

syslog

void syslog (int __pri, const char *__fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));

Generate a log message using FMT string and option arguments.
This function is a possible cancellation point and therefore not
marked with __THROW.

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

int main(int argc, char **argv) {

    openlog("TestProgram", LOG_PID, LOG_INFO | LOG_USER);
    syslog(LOG_USER, "Hello World!");
    closelog();
    return 0;

}

// [root@localhost syslog]#
// Message from syslogd@localhost at Mar 20 08:10:21 ...
// TestProgram[42015]:Hello World!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值