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_allocator.c
|
||||||
linux/os_mem.c
|
linux/os_mem.c
|
||||||
linux/os_env.c
|
linux/os_env.c
|
||||||
linux/os_log.c
|
linux/os_log.cpp
|
||||||
windows/os_allocator.c
|
windows/os_allocator.c
|
||||||
windows/os_mem.c
|
windows/os_mem.c
|
||||||
windows/os_env.c
|
windows/os_env.c
|
||||||
|
@@ -17,22 +17,47 @@
|
|||||||
#if defined(__gnu_linux__)
|
#if defined(__gnu_linux__)
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
|
||||||
#include "os_log.h"
|
#include "os_log.h"
|
||||||
|
|
||||||
#define LINE_SZ 1024
|
#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)
|
void os_log(const char* tag, const char* msg, va_list list)
|
||||||
{
|
{
|
||||||
char line[LINE_SZ] = {0};
|
char line[LINE_SZ] = {0};
|
||||||
snprintf(line, sizeof(line), "%s: %s", tag, msg);
|
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)
|
void os_err(const char* tag, const char* msg, va_list list)
|
||||||
{
|
{
|
||||||
char line[LINE_SZ] = {0};
|
char line[LINE_SZ] = {0};
|
||||||
snprintf(line, sizeof(line), "%s: %s", tag, msg);
|
snprintf(line, sizeof(line), "%s: %s", tag, msg);
|
||||||
vfprintf(stderr, line, list);
|
vsyslog(LOG_ERR, line, list);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
Reference in New Issue
Block a user