openlog对应/etc/syslog.conf /etc/rsyslog.conf的配置,根据log级别和来源将日志输出到对应文件
#include
#include
#include
#include
void *thread_proc(void *argv) {
(void *)argv;
prctl(PR_SET_NAME, "sub");
openlog("sub", LOG_PID, LOG_CRON);
syslog(LOG_INFO, "sub proc.");
return NULL;
}
int main(int argc, char **argv) {
pthread_t pid;
openlog("main", LOG_PID, LOG_USER);
syslog(LOG_INFO, "main start.");
pthread_create(&pid, NULL, thread_proc, NULL);
pthread_detach(pid);
sleep(10);
syslog(LOG_INFO, "main end.");
while (1) {
sleep(5);
}
return 0;
}
// /var/log/messages
// Dec 18 11:12:14 unixlearn main[2201]: main start.
// /var/log/cron
// Dec 18 11:12:14 unixlearn sub[2201]: sub proc.
// Dec 18 11:12:24 unixlearn sub[2201]: main end.