summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Bartos <mbartos@redhat.com>2013-05-13 13:30:36 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2013-05-14 15:41:14 +0200
commit1e3167f227e8e5f94f8c103031ed4fd01731c968 (patch)
tree93059c3c87ead6a1140248638dae8bb57016878f
parente43c8f37a3a698dd61e822d94d3a9c5d70d3b6cb (diff)
downloadrsyslog-1e3167f227e8e5f94f8c103031ed4fd01731c968.tar.gz
rsyslog-1e3167f227e8e5f94f8c103031ed4fd01731c968.tar.bz2
rsyslog-1e3167f227e8e5f94f8c103031ed4fd01731c968.zip
Add missing pid part of syslog tag.
-rwxr-xr-x[-rw-r--r--]plugins/imjournal/imjournal.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c
index 090bfb8a..42d3cf6d 100644..100755
--- a/plugins/imjournal/imjournal.c
+++ b/plugins/imjournal/imjournal.c
@@ -140,13 +140,16 @@ readjournal() {
/* Information from messages */
char *message;
+ char *sys_pid;
char *sys_iden;
char *sys_iden_help;
const void *get;
+ const void *pidget;
char *parse;
char *get2;
size_t length;
+ size_t pidlength;
const void *equal_sign;
struct json_object *jval;
@@ -204,7 +207,7 @@ readjournal() {
goto free_message;
}
- /* Get message identifier and add ':' */
+ /* Get message identifier, client pid and add ':' */
if (sd_journal_get_data(j, "SYSLOG_IDENTIFIER", &get, &length) >= 0) {
sys_iden = strndup(get+18, length-18);
} else {
@@ -215,12 +218,30 @@ readjournal() {
goto free_message;
}
- asprintf(&sys_iden_help, "%s:", sys_iden);
+ if (sd_journal_get_data(j, "SYSLOG_PID", &pidget, &pidlength) >= 0) {
+ sys_pid = strndup(pidget+11, pidlength-11);
+ if (sys_pid == NULL) {
+ iRet = RS_RET_OUT_OF_MEMORY;
+ free (sys_iden);
+ goto free_message;
+ }
+ } else {
+ sys_pid = NULL;
+ }
+
+ if (sys_pid) {
+ asprintf(&sys_iden_help, "%s[%s]:", sys_iden, sys_pid);
+ } else {
+ asprintf(&sys_iden_help, "%s:", sys_iden);
+ }
+
+ free (sys_iden);
+ free (sys_pid);
+
if (sys_iden_help == NULL) {
iRet = RS_RET_OUT_OF_MEMORY;
goto finalize_it;
}
- free (sys_iden);
json = json_object_new_object();