Refactor set of routines specific to elog.c This refactors the following routines and facilities coming from elog.c, to ease their use across multiple log destinations: - Start timestamp, including its reset, to store when a process has been started. - The log timestamp, associated to an entry (the same timestamp is used when logging across multiple destinations). - Routine deciding if a query can be logged or not. - The backend type names, depending on the process that logs any information (postmaster, bgworker name or just GetBackendTypeDesc() with a regular backend). - Write of logs using the logging piped protocol, with the log collector enabled. - Error severity converted to a string.
These refactored routines will be used for some follow-up changes to move all the csvlog logic into its own file and to potentially add JSON as log destination, reducing the overall size of elog.c as the end result. Author: Michael Paquier, Sehrope Sarkuni Reviewed-by: Nathan Bossart Discussion: https://postgr.es/m/CAH7T-aqswBM6JWe4pDehi1uOiufqe06DJWaU5=x7ddlyque...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/ac7c80758a7ad6369aefce7406f08c689144ec4b Modified Files -------------- src/backend/utils/error/elog.c | 159 ++++++++++++++++++++++++++--------------- src/include/utils/elog.h | 12 ++++ 2 files changed, 112 insertions(+), 59 deletions(-)