summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2015-10-26 19:06:42 +0300
committerVladimir Homutov <vl@nginx.com>2015-10-26 19:06:42 +0300
commite7d298f3fc79785d22a1227b3c140529a6356fff (patch)
tree804f3b3eaa0ccc6ed562c8c343da97450940931d
parent090c4710323209caacf26c6393200975fe2d0038 (diff)
Syslog: added "nohostname" option.
The option disables sending hostname in the syslog message header. This is useful with syslog daemons that do not expect it (tickets #677 and #783).
-rw-r--r--src/core/ngx_syslog.c8
-rw-r--r--src/core/ngx_syslog.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/core/ngx_syslog.c b/src/core/ngx_syslog.c
index d4e79f67..08f4c048 100644
--- a/src/core/ngx_syslog.c
+++ b/src/core/ngx_syslog.c
@@ -194,6 +194,9 @@ ngx_syslog_parse_args(ngx_conf_t *cf, ngx_syslog_peer_t *peer)
peer->tag.data = p + 4;
peer->tag.len = len - 4;
+ } else if (len == 10 && ngx_strncmp(p, "nohostname", 10) == 0) {
+ peer->nohostname = 1;
+
} else {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
"unknown syslog parameter \"%s\"", p);
@@ -220,6 +223,11 @@ ngx_syslog_add_header(ngx_syslog_peer_t *peer, u_char *buf)
pri = peer->facility * 8 + peer->severity;
+ if (peer->nohostname) {
+ return ngx_sprintf(buf, "<%ui>%V %V: ", pri, &ngx_cached_syslog_time,
+ &peer->tag);
+ }
+
return ngx_sprintf(buf, "<%ui>%V %V %V: ", pri, &ngx_cached_syslog_time,
&ngx_cycle->hostname, &peer->tag);
}
diff --git a/src/core/ngx_syslog.h b/src/core/ngx_syslog.h
index a9150516..cc4c842c 100644
--- a/src/core/ngx_syslog.h
+++ b/src/core/ngx_syslog.h
@@ -16,7 +16,8 @@ typedef struct {
ngx_addr_t server;
ngx_connection_t conn;
- ngx_uint_t busy; /* unsigned busy:1; */
+ unsigned busy:1;
+ unsigned nohostname:1;
} ngx_syslog_peer_t;