Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf4c454e

Browse files
committed
Add syslog_sequence_numbers parameter
Reviewed-by: Andreas Karlsson <andreas@proxel.se>
1 parent47211af commitf4c454e

File tree

5 files changed

+50
-2
lines changed

5 files changed

+50
-2
lines changed

‎doc/src/sgml/config.sgml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4305,6 +4305,34 @@ local0.* /var/log/postgresql
43054305
</listitem>
43064306
</varlistentry>
43074307

4308+
<varlistentry id="guc-syslog-sequence-numbers" xreflabel="syslog_sequence_numbers">
4309+
<term><varname>syslog_sequence_numbers</varname> (<type>boolean</type>)
4310+
<indexterm>
4311+
<primary><varname>syslog_sequence_numbers</> configuration parameter</primary>
4312+
</indexterm>
4313+
</term>
4314+
4315+
<listitem>
4316+
<para>
4317+
When logging to <application>syslog</application> and this is on (the
4318+
default), then each message will be prefixed by an increasing
4319+
sequence number (such as <literal>[2]</literal>). This circumvents
4320+
the <quote>--- last message repeated N times ---</quote> suppression
4321+
that many syslog implementations perform by default. In more modern
4322+
syslog implementations, repeat message suppression can be configured
4323+
(for example, <literal>$RepeatedMsgReduction</literal>
4324+
in <productname>rsyslog</productname>), so this might not be
4325+
necessary. Also, you could turn this off if you actually want to
4326+
suppress repeated messages.
4327+
</para>
4328+
4329+
<para>
4330+
This parameter can only be set in the <filename>postgresql.conf</>
4331+
file or on the server command line.
4332+
</para>
4333+
</listitem>
4334+
</varlistentry>
4335+
43084336
<varlistentry id="guc-event-source" xreflabel="event_source">
43094337
<term><varname>event_source</varname> (<type>string</type>)
43104338
<indexterm>

‎src/backend/utils/error/elog.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ intLog_error_verbosity = PGERROR_VERBOSE;
106106
char*Log_line_prefix=NULL;/* format for extra log line info */
107107
intLog_destination=LOG_DESTINATION_STDERR;
108108
char*Log_destination_string=NULL;
109+
boolsyslog_sequence_numbers= true;
109110

110111
#ifdefHAVE_SYSLOG
111112

@@ -2018,15 +2019,22 @@ write_syslog(int level, const char *line)
20182019

20192020
chunk_nr++;
20202021

2021-
syslog(level,"[%lu-%d] %s",seq,chunk_nr,buf);
2022+
if (syslog_sequence_numbers)
2023+
syslog(level,"[%lu-%d] %s",seq,chunk_nr,buf);
2024+
else
2025+
syslog(level,"[%d] %s",chunk_nr,buf);
2026+
20222027
line+=buflen;
20232028
len-=buflen;
20242029
}
20252030
}
20262031
else
20272032
{
20282033
/* message short enough */
2029-
syslog(level,"[%lu] %s",seq,line);
2034+
if (syslog_sequence_numbers)
2035+
syslog(level,"[%lu] %s",seq,line);
2036+
else
2037+
syslog(level,"%s",line);
20302038
}
20312039
}
20322040
#endif/* HAVE_SYSLOG */

‎src/backend/utils/misc/guc.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1632,6 +1632,16 @@ static struct config_bool ConfigureNamesBool[] =
16321632
NULL,NULL,NULL
16331633
},
16341634

1635+
{
1636+
{"syslog_sequence_numbers",PGC_SIGHUP,LOGGING_WHERE,
1637+
gettext_noop("Add sequence number to syslog messags to avoid duplicate suppression."),
1638+
NULL
1639+
},
1640+
&syslog_sequence_numbers,
1641+
true,
1642+
NULL,NULL,NULL
1643+
},
1644+
16351645
/* End-of-list marker */
16361646
{
16371647
{NULL,0,0,NULL,NULL},NULL, false,NULL,NULL,NULL

‎src/backend/utils/misc/postgresql.conf.sample

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@
358358
# These are relevant when logging to syslog:
359359
#syslog_facility = 'LOCAL0'
360360
#syslog_ident = 'postgres'
361+
#syslog_sequence_numbers = on
361362

362363
# This is only relevant when logging to eventlog (win32):
363364
#event_source = 'PostgreSQL'

‎src/include/utils/elog.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ extern intLog_error_verbosity;
397397
externchar*Log_line_prefix;
398398
externintLog_destination;
399399
externchar*Log_destination_string;
400+
externboolsyslog_sequence_numbers;
400401

401402
/* Log destination bitmap */
402403
#defineLOG_DESTINATION_STDERR 1

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp