summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>2013-06-20 17:24:28 +0300
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>2013-07-15 16:47:29 +0300
commitb5e1c06a5edd24db9ef905ecfb2849630b6527af (patch)
tree71e06b5dc0f64d8b9926b05319346915a924b5bb
parenta1fdbcfaa77822bbfdcacb480fc2d75b95fa38aa (diff)
downloadpulseaudio-b5e1c06a5edd24db9ef905ecfb2849630b6527af.tar.gz
log: Harmonize log target output
The file targets used different output format than stderr and syslog. That's now fixed.
-rw-r--r--src/pulsecore/log.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/pulsecore/log.c b/src/pulsecore/log.c
index 49f1b5b0c..a25a7606c 100644
--- a/src/pulsecore/log.c
+++ b/src/pulsecore/log.c
@@ -466,12 +466,23 @@ void pa_log_levelv_meta(
case PA_LOG_FILE:
case PA_LOG_NEWFILE: {
+ char *local_t;
+
+ if ((local_t = pa_utf8_to_locale(t)))
+ t = local_t;
+
if (log_fd >= 0) {
char metadata[256];
- pa_snprintf(metadata, sizeof(metadata), "\n%c %s %s", level_to_char[level], timestamp, location);
+ if (_flags & PA_LOG_PRINT_LEVEL)
+ pa_snprintf(metadata, sizeof(metadata), "%s%c: %s", timestamp, level_to_char[level], location);
+ else
+ pa_snprintf(metadata, sizeof(metadata), "%s%s", timestamp, location);
- if ((pa_write(log_fd, metadata, strlen(metadata), &write_type) < 0) || (pa_write(log_fd, t, strlen(t), &write_type) < 0)) {
+ if ((pa_write(log_fd, metadata, strlen(metadata), &write_type) < 0)
+ || (pa_write(log_fd, t, strlen(t), &write_type) < 0)
+ || (bt && pa_write(log_fd, bt, strlen(bt), &write_type) < 0)
+ || (pa_write(log_fd, "\n", 1, &write_type) < 0)) {
pa_log_target new_target = { .type = PA_LOG_STDERR, .file = NULL };
saved_errno = errno;
fprintf(stderr, "%s\n", "Error writing logs to a file descriptor. Redirect log messages to console.");
@@ -480,6 +491,8 @@ void pa_log_levelv_meta(
}
}
+ pa_xfree(local_t);
+
break;
}
case PA_LOG_NULL: