mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 09:36:49 +08:00
[osal]: Add syslog on linux
Change-Id: I484ed12194e2e772326018e7cb1503ab761b2e71 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -46,7 +46,7 @@ add_library(osal STATIC
|
||||
linux/os_allocator.c
|
||||
linux/os_mem.c
|
||||
linux/os_env.c
|
||||
linux/os_log.c
|
||||
linux/os_log.cpp
|
||||
windows/os_allocator.c
|
||||
windows/os_mem.c
|
||||
windows/os_env.c
|
||||
|
@@ -17,22 +17,47 @@
|
||||
#if defined(__gnu_linux__)
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <syslog.h>
|
||||
|
||||
#include "os_log.h"
|
||||
|
||||
#define LINE_SZ 1024
|
||||
|
||||
class SyslogWrapper
|
||||
{
|
||||
private:
|
||||
// avoid any unwanted function
|
||||
SyslogWrapper(const SyslogWrapper &);
|
||||
SyslogWrapper &operator=(const SyslogWrapper &);
|
||||
public:
|
||||
SyslogWrapper();
|
||||
~SyslogWrapper();
|
||||
};
|
||||
|
||||
static SyslogWrapper syslog_wrapper;
|
||||
|
||||
SyslogWrapper::SyslogWrapper()
|
||||
{
|
||||
openlog("mpp", LOG_PID | LOG_CONS | LOG_PERROR, LOG_USER);
|
||||
}
|
||||
|
||||
SyslogWrapper::~SyslogWrapper()
|
||||
{
|
||||
closelog();
|
||||
}
|
||||
|
||||
void os_log(const char* tag, const char* msg, va_list list)
|
||||
{
|
||||
char line[LINE_SZ] = {0};
|
||||
snprintf(line, sizeof(line), "%s: %s", tag, msg);
|
||||
vfprintf(stdout, line, list);
|
||||
vsyslog(LOG_INFO, line, list);
|
||||
}
|
||||
|
||||
void os_err(const char* tag, const char* msg, va_list list)
|
||||
{
|
||||
char line[LINE_SZ] = {0};
|
||||
snprintf(line, sizeof(line), "%s: %s", tag, msg);
|
||||
vfprintf(stderr, line, list);
|
||||
vsyslog(LOG_ERR, line, list);
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user