Skip to content

Commit 3ae8913

Browse files
committed
Use different syslog facilities for error, conn, and stats logs, so they can be filtered into separate log files in syslog.conf
1 parent 392c6be commit 3ae8913

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

log.c

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ log_err_writecb(int level, UNUSED void *fh, const void *buf, size_t sz)
8383
case LOG_ERR_MODE_STDERR:
8484
return fwrite(buf, sz - 1, 1, stderr);
8585
case LOG_ERR_MODE_SYSLOG:
86-
syslog(level, "%s", (const char *)buf);
86+
syslog(LOG_DAEMON|level, "%s", (const char *)buf);
8787
return sz;
8888
}
8989
return -1;
@@ -292,20 +292,31 @@ log_connect_fini(void)
292292
close(connect_fd);
293293
}
294294

295-
int
296-
log_stats(const char *buf)
295+
static int
296+
log_info(int facility, const char *buf)
297297
{
298298
size_t sz = strlen(buf) + 1;
299299
switch (err_mode) {
300300
case LOG_ERR_MODE_STDERR:
301301
return fwrite(buf, sz - 1, 1, stderr);
302302
case LOG_ERR_MODE_SYSLOG:
303-
syslog(LOG_INFO, "%s", (const char *)buf);
303+
syslog(facility|LOG_INFO, "%s", (const char *)buf);
304304
return sz;
305305
}
306306
return -1;
307307
}
308308

309+
int
310+
log_stats(const char *buf)
311+
{
312+
return log_info(LOG_LOCAL0, buf);
313+
}
314+
315+
int
316+
log_conn(const char *buf)
317+
{
318+
return log_info(LOG_LOCAL1, buf);
319+
}
309320

310321
/*
311322
* Content log.

log.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ extern logger_t *connect_log;
6363
logger_write_freebuf(connect_log, 0, NULL, 0, (buf), (sz))
6464

6565
int log_stats(const char *);
66+
int log_conn(const char *);
6667

6768
typedef struct log_content_ctx log_content_ctx_t;
6869
int log_content_open(log_content_ctx_t **, opts_t *, char *, char *, char *,

pxyconn.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -608,8 +608,8 @@ pxy_log_connect_nonhttp(pxy_conn_ctx_t *ctx)
608608
if (!ctx->opts->detach) {
609609
log_err_printf("%s", msg);
610610
} else if (ctx->opts->statslog) {
611-
if (log_stats(msg) == -1) {
612-
log_err_level_printf(LOG_WARNING, "Stats logging failed\n");
611+
if (log_conn(msg) == -1) {
612+
log_err_level_printf(LOG_WARNING, "Conn logging failed\n");
613613
}
614614
}
615615
if (ctx->opts->connectlog) {
@@ -717,8 +717,8 @@ pxy_log_connect_http(pxy_conn_ctx_t *ctx)
717717
if (!ctx->opts->detach) {
718718
log_err_printf("%s", msg);
719719
} else if (ctx->opts->statslog) {
720-
if (log_stats(msg) == -1) {
721-
log_err_level_printf(LOG_WARNING, "Stats logging failed\n");
720+
if (log_conn(msg) == -1) {
721+
log_err_level_printf(LOG_WARNING, "Conn logging failed\n");
722722
}
723723
}
724724
if (ctx->opts->connectlog) {

pxythrmgr.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ pxy_thrmgr_get_thr_expired_conns(pxy_thr_ctx_t *tctx, pxy_conn_ctx_t **expired_c
104104
dst_addr = NULL;
105105
}
106106

107-
if (log_stats(msg) == -1) {
108-
log_err_level_printf(LOG_WARNING, "Stats logging failed\n");
107+
if (log_conn(msg) == -1) {
108+
log_err_level_printf(LOG_WARNING, "Expired conn logging failed\n");
109109
}
110110
free(msg);
111111

@@ -205,8 +205,8 @@ pxy_thrmgr_print_thr_info(pxy_thr_ctx_t *tctx)
205205
goto leave;
206206
}
207207

208-
if (log_stats(smsg) == -1) {
209-
log_err_level_printf(LOG_WARNING, "Stats logging failed\n");
208+
if (log_conn(smsg) == -1) {
209+
log_err_level_printf(LOG_WARNING, "Idle conn logging failed\n");
210210
}
211211
free(smsg);
212212
smsg = NULL;

0 commit comments

Comments
 (0)