PostgreSQL Source Code: src/include/postmaster/syslogger.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef _SYSLOGGER_H

13#define _SYSLOGGER_H

14

15#include <limits.h>

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32#ifdef PIPE_BUF

33

34#if PIPE_BUF > 65536

35#define PIPE_CHUNK_SIZE 65536

36#else

37#define PIPE_CHUNK_SIZE ((int) PIPE_BUF)

38#endif

39#else

40

41#define PIPE_CHUNK_SIZE 512

42#endif

43

44typedef struct

45{

46 char nuls[2];

47 uint16 len;

52

53typedef union

54{

58

59#define PIPE_HEADER_SIZE offsetof(PipeProtoHeader, data)

60#define PIPE_MAX_PAYLOAD ((int) (PIPE_CHUNK_SIZE - PIPE_HEADER_SIZE))

61

62

63#define PIPE_PROTO_IS_LAST 0x01

64

65#define PIPE_PROTO_DEST_STDERR 0x10

66#define PIPE_PROTO_DEST_CSVLOG 0x20

67#define PIPE_PROTO_DEST_JSONLOG 0x40

68

69

77

78#ifdef EXEC_BACKEND

80#endif

81

82#ifndef WIN32

84#else

86#endif

87

88

90

91extern void write_syslogger_file(const char *buffer, int count, int destination);

92

94

97

98

99

100

101

102#define LOG_METAINFO_DATAFILE "current_logfiles"

103#define LOG_METAINFO_DATAFILE_TMP LOG_METAINFO_DATAFILE ".tmp"

104

105#endif

#define FLEXIBLE_ARRAY_MEMBER

NON_EXEC_STATIC pg_time_t first_syslogger_file_time

PGDLLIMPORT int Log_file_mode

PGDLLIMPORT bool Logging_collector

PGDLLIMPORT int Log_RotationAge

pg_noreturn void SysLoggerMain(const void *startup_data, size_t startup_data_len)

bool CheckLogrotateSignal(void)

PGDLLIMPORT char * Log_filename

PGDLLIMPORT int Log_RotationSize

PGDLLIMPORT int syslogPipe[2]

void RemoveLogrotateSignalFiles(void)

void write_syslogger_file(const char *buffer, int count, int destination)

PGDLLIMPORT bool Log_truncate_on_rotation

PGDLLIMPORT char * Log_directory

int SysLogger_Start(int child_slot)