是否可以将perror()生成的消息发送到/ var/log/syslog?

Joã*_*lva 4 c error-handling daemon syslog errno

我正在使用perror()来打印错误消息,例如:

pid = fork();
if (pid < 0) {
    perror("couldn't fork");
    exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用errno/perror()设施,但将生成的消息定向到系统日志(/var/log/syslog)?

我在一个可以在守护进程和非守护进程模式下运行的程序的上下文中询问这个问题.在守护程序模式下,perror()消息不会出现在syslog上.

use*_*751 8

用于strerror根据错误代码获取错误消息,而不打印它.然后将其传递给syslog任何其他日志消息:

syslog(LOG_ERR, "Couldn't fork: %s", strerror(errno));
Run Code Online (Sandbox Code Playgroud)