70 lines
2.0 KiB
C
Executable File
70 lines
2.0 KiB
C
Executable File
#ifndef _ULOG_IN_H
|
|
#define _ULOG_IN_H
|
|
|
|
#include <string.h>
|
|
#include <syslog.h>
|
|
|
|
#include "common_types.h"
|
|
#include "log_types.h"
|
|
|
|
#define SERVICE_LOG_FILE_NAME "log-file"
|
|
#define SERIVCE_LOG_CONSOLE_NAME "log-console"
|
|
#define SERVICE_LOG_PTY_NAME "log-pty"
|
|
#define SERVICE_LOG_REMOTE_NAME "log-remote"
|
|
|
|
#define CONF_LOG_FILE_FUNC "conf_log_file"
|
|
#define CONF_LOG_CONSOLE_FUNC "conf_log_console"
|
|
#define CONF_LOG_PTY_FUNC "conf_log_pty"
|
|
#define CONF_LOG_REMOTE_ADD_HOST_FUNC "conf_log_add_remote"
|
|
#define CONF_LOG_REMOTE_DEL_HOST_FUNC "conf_log_del_remote"
|
|
#define CONF_LOG_REMOTE_LEVEL_FUNC "conf_log_remote_level"
|
|
|
|
#define LOGROTATE_CONF "%s\n" \
|
|
"{\n" \
|
|
" rotate %u\n" \
|
|
" daily\n" \
|
|
" missingok\n" \
|
|
"%s" \
|
|
" postrotate\n" \
|
|
" /usr/lib/rsyslog/rsyslog-rotate\n" \
|
|
" endscript\n" \
|
|
"}"
|
|
typedef struct _level_str {
|
|
u32 level;
|
|
char str[10];
|
|
} level_str_t;
|
|
|
|
typedef struct _rfc_key_fmt {
|
|
log_rfc_t rfc;
|
|
char fmt[20];
|
|
} rfc_key_fmt;
|
|
|
|
static level_str_t g_level_array[] = {
|
|
{LOG_EMERG, "emerg"},
|
|
{LOG_ALERT, "alert"},
|
|
{LOG_CRIT, "crit"},
|
|
{LOG_ERR, "err"},
|
|
{LOG_WARNING, "warn"},
|
|
{LOG_NOTICE, "notice"},
|
|
{LOG_INFO, "info"},
|
|
{LOG_DEBUG, "debug"}
|
|
};
|
|
|
|
static rfc_key_fmt rfc_tbl[] = {
|
|
{LOG_RFC_3164, "RFC3164fmt"},
|
|
{LOG_RFC_5424, "RFC5424fmt"}
|
|
};
|
|
|
|
static inline int log_str_to_level(const char *str_level)
|
|
{
|
|
int n = sizeof(g_level_array) / sizeof(level_str_t);
|
|
for (int i = 0; i < n; i++) {
|
|
if (strcmp(g_level_array[i].str, str_level) == 0) {
|
|
return g_level_array[i].level;
|
|
}
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|
|
#endif |