mirror of
https://github.com/postgres/postgres.git
synced 2025-11-12 05:01:15 +03:00
Have log_min_duration_statement = 0 always print duration/statement.
Change log line to be "duration: ms query:" Indent multi-line queries with a tab in the server logs.
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.123 2003/09/25 06:58:05 petere Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.124 2003/10/08 03:49:38 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -145,6 +145,7 @@ static const char *useful_strerror(int errnum);
|
||||
static const char *error_severity(int elevel);
|
||||
static const char *print_timestamp(void);
|
||||
static const char *print_pid(void);
|
||||
static char *str_prepend_tabs(const char *str);
|
||||
|
||||
|
||||
/*
|
||||
@@ -1135,6 +1136,8 @@ send_message_to_server_log(ErrorData *edata)
|
||||
/* Write to stderr, if enabled */
|
||||
if (Use_syslog <= 1 || whereToSendOutput == Debug)
|
||||
{
|
||||
char *p = str_prepend_tabs(buf.data);
|
||||
|
||||
/*
|
||||
* Timestamp and PID are only used for stderr output --- we assume
|
||||
* the syslog daemon will supply them for us in the other case.
|
||||
@@ -1142,7 +1145,8 @@ send_message_to_server_log(ErrorData *edata)
|
||||
fprintf(stderr, "%s%s%s",
|
||||
Log_timestamp ? print_timestamp() : "",
|
||||
Log_pid ? print_pid() : "",
|
||||
buf.data);
|
||||
p);
|
||||
pfree(p);
|
||||
}
|
||||
|
||||
pfree(buf.data);
|
||||
@@ -1450,3 +1454,24 @@ print_pid(void)
|
||||
snprintf(buf, sizeof(buf), "[%d] ", (int) MyProcPid);
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* str_prepend_tabs
|
||||
*
|
||||
* This string prepends a tab to message continuation lines.
|
||||
*/
|
||||
static char *str_prepend_tabs(const char *str)
|
||||
{
|
||||
char *outstr = palloc(strlen(str) * 2 + 1);
|
||||
int len = strlen(str);
|
||||
int i, outlen = 0;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
outstr[outlen++] = str[i];
|
||||
if (str[i] == '\n' && str[i+1] != '\0' )
|
||||
outstr[outlen++] = '\t';
|
||||
}
|
||||
outstr[outlen++] = '\0';
|
||||
return outstr;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.162 2003/10/03 19:26:49 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.163 2003/10/08 03:49:38 momjian Exp $
|
||||
*
|
||||
*--------------------------------------------------------------------
|
||||
*/
|
||||
@@ -128,7 +128,7 @@ int log_min_error_statement = PANIC;
|
||||
int log_min_messages = NOTICE;
|
||||
int client_min_messages = NOTICE;
|
||||
|
||||
int log_min_duration_statement = 0;
|
||||
int log_min_duration_statement = -1;
|
||||
|
||||
|
||||
/*
|
||||
@@ -1185,10 +1185,10 @@ static struct config_int ConfigureNamesInt[] =
|
||||
{"log_min_duration_statement", PGC_USERLIMIT, LOGGING_WHEN,
|
||||
gettext_noop("minimum execution time in milliseconds above which statements will "
|
||||
"be logged"),
|
||||
gettext_noop("The default is 0 (turning this feature off).")
|
||||
gettext_noop("Zero prints all queries. The default is -1 (turning this feature off).")
|
||||
},
|
||||
&log_min_duration_statement,
|
||||
0, 0, INT_MAX / 1000, NULL, NULL
|
||||
-1, -1, INT_MAX / 1000, NULL, NULL
|
||||
},
|
||||
|
||||
/* End-of-list marker */
|
||||
|
||||
@@ -157,9 +157,10 @@
|
||||
# debug5, debug4, debug3, debug2, debug1,
|
||||
# info, notice, warning, error, panic(off)
|
||||
|
||||
#log_min_duration_statement = 0 # Log all statements whose
|
||||
#log_min_duration_statement = -1 # Log all statements whose
|
||||
# execution time exceeds the value, in
|
||||
# milliseconds. Zero disables.
|
||||
# milliseconds. Zero prints all queries.
|
||||
# Minus-one disables.
|
||||
|
||||
#silent_mode = false # DO NOT USE without Syslog!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user