自定義syslog儲存檔案
阿新 • • 發佈:2019-01-08
#include <stdio.h> #include <stdlib.h> #include <syslog.h> #include <fcntl.h> #include <unistd.h> #include <string> #include <syslog.h> #include <assert.h> int main(int argc, char* argv[]) { /* openlog("testsyslog", LOG_CONS | LOG_PID, 0); syslog(LOG_USER | LOG_INFO, "2.syslog test message generated in program %s \n", argv[0]); closelog(); */ /* FILE * f; f = fopen("not_here", "r"); if(!f){ syslog(LOG_ERR | LOG_USER, "oops - %m\n"); } */ //在當前執行目錄下先建立syslog.self檔案 int logfd = open( "./syslog.self", O_RDWR | O_CREAT | O_APPEND, 0644 ); if( -1 == logfd ) { printf("open file failed\n"); return -1; } close( STDERR_FILENO ); dup2( logfd, STDERR_FILENO ); close( logfd ); openlog( "self-syslog", LOG_PERROR, LOG_DAEMON ); syslog( LOG_DEBUG, "%i\n", time( NULL ) ); return 0; }