diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-10-07 14:26:41 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-10-07 14:26:41 +0200 |
commit | 8528344ef58b5d2907bba8809f63d0bca2ce8d38 (patch) | |
tree | a7246f6453782404f2a197ea0b96c87c6d20a03b /runtime/msg.h | |
parent | cdecd7e524a5114ccff4f2909b32738bdb33c6ea (diff) | |
download | rsyslog-8528344ef58b5d2907bba8809f63d0bca2ce8d38.tar.gz rsyslog-8528344ef58b5d2907bba8809f63d0bca2ce8d38.tar.xz rsyslog-8528344ef58b5d2907bba8809f63d0bca2ce8d38.zip |
"output" timestamp now taken from mesg's time generated
This enhances performance and, as some have pointed out, is
probably also more consistent with what users expect how
the various output-timestamp related function should work. This
commit needs some more testing.
Diffstat (limited to 'runtime/msg.h')
-rw-r--r-- | runtime/msg.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/msg.h b/runtime/msg.h index d3c0718b..d2fc2f30 100644 --- a/runtime/msg.h +++ b/runtime/msg.h @@ -99,6 +99,13 @@ struct msg { cstr_t *pCSAPPNAME; /* APP-NAME */ cstr_t *pCSPROCID; /* PROCID */ cstr_t *pCSMSGID; /* MSGID */ + time_t ttGenTime; /* time msg object was generated, same as tRcvdAt, but a Unix timestamp. + While this field looks redundant, it is required because a Unix timestamp + is used at later processing stages (namely in the output arena). Thanks to + the subleties of how time is defined, there is no reliable way to reconstruct + the Unix timestamp from the syslogTime fields (in practice, we may be close + enough to reliable, but I prefer to leave the subtle things to the OS, where + it obviously is solved in way or another...). */ struct syslogTime tRcvdAt;/* time the message entered this program */ char *pszRcvdAt3164; /* time as RFC3164 formatted string (always 15 charcters) */ char *pszRcvdAt3339; /* time as RFC3164 formatted string (32 charcters at most) */ @@ -119,7 +126,7 @@ struct msg { PROTOTYPEObjClassInit(msg); char* getProgramName(msg_t*); rsRetVal msgConstruct(msg_t **ppThis); -rsRetVal msgConstructWithTime(msg_t **ppThis, struct syslogTime *stTime); +rsRetVal msgConstructWithTime(msg_t **ppThis, struct syslogTime *stTime, time_t ttGenTime); rsRetVal msgDestruct(msg_t **ppM); msg_t* MsgDup(msg_t* pOld); msg_t *MsgAddRef(msg_t *pM); |