Unverified Commit 8178adc6 by 2xsec

log: add common functions

Signed-off-by: 's avatar2xsec <dh48.jeong@samsung.com>
parent a8eed52c
...@@ -101,37 +101,58 @@ static int lxc_log_priority_to_syslog(int priority) ...@@ -101,37 +101,58 @@ static int lxc_log_priority_to_syslog(int priority)
return LOG_NOTICE; return LOG_NOTICE;
} }
/*---------------------------------------------------------------------------*/ static const char *lxc_log_get_container_name()
static int log_append_syslog(const struct lxc_log_appender *appender, {
struct lxc_log_event *event) #ifndef NO_LXC_CONF
if (current_config && !log_vmname)
return current_config->name;
#endif
return log_vmname;
}
static char *lxc_log_get_va_msg(struct lxc_log_event *event)
{ {
char *msg; char *msg;
int rc, len; int rc, len;
va_list args; va_list args;
const char *log_container_name = log_vmname;
#ifndef NO_LXC_CONF if (!event)
if (current_config && !log_container_name) return NULL;
log_container_name = current_config->name;
#endif
if (!syslog_enable)
return 0;
va_copy(args, *event->vap); va_copy(args, *event->vap);
len = vsnprintf(NULL, 0, event->fmt, args) + 1; len = vsnprintf(NULL, 0, event->fmt, args) + 1;
va_end(args); va_end(args);
msg = malloc(len * sizeof(char)); msg = malloc(len * sizeof(char));
if (msg == NULL) if (!msg)
return 0; return NULL;
rc = vsnprintf(msg, len, event->fmt, *event->vap); rc = vsnprintf(msg, len, event->fmt, *event->vap);
if (rc == -1 || rc >= len) { if (rc == -1 || rc >= len) {
free(msg); free(msg);
return 0; return NULL;
} }
return msg;
}
/*---------------------------------------------------------------------------*/
static int log_append_syslog(const struct lxc_log_appender *appender,
struct lxc_log_event *event)
{
char *msg;
const char *log_container_name;
if (!syslog_enable)
return 0;
log_container_name = lxc_log_get_container_name();
msg = lxc_log_get_va_msg(event);
if (!msg)
return 0;
syslog(lxc_log_priority_to_syslog(event->priority), syslog(lxc_log_priority_to_syslog(event->priority),
"%s%s %s - %s:%s:%d - %s" , "%s%s %s - %s:%s:%d - %s" ,
log_container_name ? log_container_name : "", log_container_name ? log_container_name : "",
...@@ -154,12 +175,7 @@ static int log_append_stderr(const struct lxc_log_appender *appender, ...@@ -154,12 +175,7 @@ static int log_append_stderr(const struct lxc_log_appender *appender,
if (event->priority < LXC_LOG_LEVEL_ERROR) if (event->priority < LXC_LOG_LEVEL_ERROR)
return 0; return 0;
log_container_name = log_vmname; log_container_name = lxc_log_get_container_name();
#ifndef NO_LXC_CONF
if (current_config && !log_container_name)
log_container_name = current_config->name;
#endif
fprintf(stderr, "%s: %s%s", log_prefix, fprintf(stderr, "%s: %s%s", log_prefix,
log_container_name ? log_container_name : "", log_container_name ? log_container_name : "",
...@@ -299,18 +315,16 @@ static int log_append_logfile(const struct lxc_log_appender *appender, ...@@ -299,18 +315,16 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
int n; int n;
ssize_t ret; ssize_t ret;
int fd_to_use = -1; int fd_to_use = -1;
const char *log_container_name = log_vmname; const char *log_container_name;
#ifndef NO_LXC_CONF #ifndef NO_LXC_CONF
if (current_config) { if (current_config)
if (!lxc_log_use_global_fd) if (!lxc_log_use_global_fd)
fd_to_use = current_config->logfd; fd_to_use = current_config->logfd;
if (!log_container_name)
log_container_name = current_config->name;
}
#endif #endif
log_container_name = lxc_log_get_container_name();
if (fd_to_use == -1) if (fd_to_use == -1)
fd_to_use = lxc_log_fd; fd_to_use = lxc_log_fd;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment