diff options
Diffstat (limited to 'misc-utils')
-rw-r--r-- | misc-utils/logger.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/misc-utils/logger.c b/misc-utils/logger.c index ac583fd10..9da404d26 100644 --- a/misc-utils/logger.c +++ b/misc-utils/logger.c @@ -298,7 +298,7 @@ static pid_t get_process_id(struct logger_ctl *ctl) static void syslog_rfc3164(struct logger_ctl *ctl, char *msg) { - char buf[1000], pid[30], *cp, *tp; + char buf[1000], pid[30], *cp, *tp, *hostname, *dot; time_t now; pid_t process; @@ -312,10 +312,15 @@ static void syslog_rfc3164(struct logger_ctl *ctl, char *msg) cp = ctl->tag; else cp = xgetlogin(); + hostname = xgethostname(); + dot = strchr(hostname, '.'); + if (dot) + *dot = '\0'; time(&now); tp = ctime(&now) + 4; - snprintf(buf, sizeof(buf), "<%d>%.15s %.200s%s: %.400s", - ctl->pri, tp, cp, pid, msg); + snprintf(buf, sizeof(buf), "<%d>%.15s %s %.200s%s: %.400s", + ctl->pri, tp, hostname, cp, pid, msg); + free(hostname); if (write_all(ctl->fd, buf, strlen(buf) + 1) < 0) warn(_("write failed")); if (ctl->logflags & LOG_PERROR) |