char *msg;
int rc, len;
va_list args;
+ const char *log_container_name = log_vmname;
+
+#ifndef NO_LXC_CONF
+ if (current_config && !log_container_name)
+ log_container_name = current_config->name;
+#endif
if (!syslog_enable)
return 0;
va_copy(args, *event->vap);
len = vsnprintf(NULL, 0, event->fmt, args) + 1;
va_end(args);
+
msg = malloc(len * sizeof(char));
if (msg == NULL)
return 0;
+
rc = vsnprintf(msg, len, event->fmt, *event->vap);
if (rc == -1 || rc >= len) {
free(msg);
syslog(lxc_log_priority_to_syslog(event->priority),
"%s%s %s - %s:%s:%d - %s" ,
- log_vmname ? log_vmname : "",
- log_vmname ? ":" : "",
+ log_container_name ? log_container_name : "",
+ log_container_name ? ":" : "",
event->category,
event->locinfo->file, event->locinfo->func,
event->locinfo->line,
msg);
free(msg);
+
return 0;
}
static int log_append_stderr(const struct lxc_log_appender *appender,
struct lxc_log_event *event)
{
+ const char *log_container_name;
+
if (event->priority < LXC_LOG_LEVEL_ERROR)
return 0;
- fprintf(stderr, "%s: %s%s", log_prefix, log_vmname ? log_vmname : "", log_vmname ? ": " : "");
- fprintf(stderr, "%s: %s: %d ", event->locinfo->file, event->locinfo->func, event->locinfo->line);
+ log_container_name = log_vmname;
+
+#ifndef NO_LXC_CONF
+ if (current_config && !log_container_name)
+ log_container_name = current_config->name;
+#endif
+
+ fprintf(stderr, "%s: %s%s", log_prefix,
+ log_container_name ? log_container_name : "",
+ log_container_name ? ": " : "");
+ fprintf(stderr, "%s: %s: %d ", event->locinfo->file,
+ event->locinfo->func, event->locinfo->line);
vfprintf(stderr, event->fmt, *event->vap);
fprintf(stderr, "\n");
+
return 0;
}
char date_time[LXC_LOG_TIME_SIZE];
int n, ret;
int fd_to_use = -1;
+ const char *log_container_name = log_vmname;
#ifndef NO_LXC_CONF
- if (!lxc_log_use_global_fd && current_config)
- fd_to_use = current_config->logfd;
+ if (current_config) {
+ if (!lxc_log_use_global_fd)
+ fd_to_use = current_config->logfd;
+
+ if (!log_container_name)
+ log_container_name = current_config->name;
+ }
#endif
if (fd_to_use == -1)
n = snprintf(buffer, sizeof(buffer),
"%s%s%s %s %-8s %s - %s:%s:%d - ",
log_prefix,
- log_vmname ? " " : "",
- log_vmname ? log_vmname : "",
+ log_container_name ? " " : "",
+ log_container_name ? log_container_name : "",
date_time,
lxc_log_priority_to_string(event->priority),
event->category,