Coordinate emit_log_hook and all log destinations to share the same timeval
authorMichael Paquier <[email protected]>
Thu, 4 Apr 2024 05:15:22 +0000 (14:15 +0900)
committerMichael Paquier <[email protected]>
Thu, 4 Apr 2024 05:15:22 +0000 (14:15 +0900)
commit2a217c371799ae3ecd8d32a137cea874fad7f5dc
treef38281f30eacc3bda232eaa23948a8daff76b208
parent44086b097537a8157ee1dd98d6635b3503f2f534
Coordinate emit_log_hook and all log destinations to share the same timeval

This would cause the timestamp values used by emit_log_hook and all the
other log destinations to differ, because the timestamps are reset
before sending the logs to the server and after calling the hook.

This change matters for emit_log_hook when generating log information
with 'n' or 'm' in log_line_prefix through log_status_format(), or when
doing direct calls to get_formatted_log_time() like in the JSON or CSV
log formats.

While on it, this commit fixes a couple of comments related to the
formatted timestamps where the JSON was not mentioned.  Oversight in
dc686681e079, that I have noticed while reviewing this patch.

Author: Kambam Vinay, Michael Paquier
Discussion: https://postgr.es/m/CANiRfmsK36A0i8mnQtzaxhSm3CUCimPwJPp4WQNq53OdSNkgWg@mail.gmail.com
src/backend/utils/error/elog.c