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

Commit69b41b2

Browse files
committed
Added pgut/logger.h and pgut/logger.c for message logging
1 parenteb97837 commit69b41b2

File tree

6 files changed

+142
-78
lines changed

6 files changed

+142
-78
lines changed

‎Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ OBJS = backup.o \
2020
xlogreader.o\
2121
streamutil.o\
2222
receivelog.o\
23-
pgut/pgut.o
23+
pgut/pgut.o\
24+
pgut/logger.o
2425

2526
EXTRA_CLEAN = datapagemap.c datapagemap.h xlogreader.c receivelog.c receivelog.h streamutil.c streamutil.h logging.h
2627

‎pg_probackup.h

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,24 @@
1515
#include<limits.h>
1616
#include"libpq-fe.h"
1717

18-
#include"pgut/pgut.h"
18+
#ifndefWIN32
19+
#include<sys/mman.h>
20+
#endif
21+
22+
#include"access/timeline.h"
1923
#include"access/xlogdefs.h"
2024
#include"access/xlog_internal.h"
2125
#include"catalog/pg_control.h"
22-
#include"utils/pg_crc.h"
23-
#include"parray.h"
24-
#include"datapagemap.h"
25-
#include"storage/bufpage.h"
2626
#include"storage/block.h"
27+
#include"storage/bufpage.h"
2728
#include"storage/checksum.h"
28-
#include"access/timeline.h"
29+
#include"utils/pg_crc.h"
30+
31+
#include"pgut/pgut.h"
32+
33+
#include"datapagemap.h"
34+
#include"parray.h"
2935

30-
#ifndefWIN32
31-
#include<sys/mman.h>
32-
#endif
3336

3437
/* Directory/File names */
3538
#defineDATABASE_DIR"database"

‎pgut/logger.c

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/*-------------------------------------------------------------------------
2+
*
3+
* logger.c: - log events into csv-file or stderr.
4+
*
5+
* Portions Copyright (c) 2017-2017, Postgres Professional
6+
*
7+
*-------------------------------------------------------------------------
8+
*/
9+
10+
#include"postgres_fe.h"
11+
12+
#include"logger.h"
13+
14+
/* Logger parameters */
15+
16+
intlog_destination=LOG_DESTINATION_STDERR;
17+
intlog_level=INFO;
18+
boolquiet= false;
19+
20+
char*log_filename=NULL;
21+
char*log_error_filename=NULL;
22+
char*log_directory=NULL;
23+
24+
intlog_rotation_size=0;
25+
intlog_rotation_age=0;
26+
27+
/*
28+
* elog - log to stderr or to log file and exit if ERROR or FATAL
29+
*/
30+
void
31+
elog(intelevel,constchar*fmt, ...)
32+
{
33+
va_listargs;
34+
35+
/* Do not log message if severity level is less than log_level */
36+
if (elevel<log_level)
37+
{
38+
/* But exit with code it severity level is higher than WARNING */
39+
if (elevel>WARNING)
40+
exit(elevel);
41+
42+
return;
43+
}
44+
45+
if (quiet&&elevel<WARNING)
46+
return;
47+
48+
switch (elevel)
49+
{
50+
caseLOG:
51+
fputs("LOG: ",stderr);
52+
break;
53+
caseINFO:
54+
fputs("INFO: ",stderr);
55+
break;
56+
caseNOTICE:
57+
fputs("NOTICE: ",stderr);
58+
break;
59+
caseWARNING:
60+
fputs("WARNING: ",stderr);
61+
break;
62+
caseFATAL:
63+
fputs("FATAL: ",stderr);
64+
break;
65+
casePANIC:
66+
fputs("PANIC: ",stderr);
67+
break;
68+
default:
69+
if (elevel >=ERROR)
70+
fputs("ERROR: ",stderr);
71+
break;
72+
}
73+
74+
va_start(args,fmt);
75+
vfprintf(stderr,fmt,args);
76+
fputc('\n',stderr);
77+
fflush(stderr);
78+
va_end(args);
79+
80+
if (elevel>WARNING)
81+
exit(elevel);
82+
}

‎pgut/logger.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*-------------------------------------------------------------------------
2+
*
3+
* logger.h: - prototypes of logger functions.
4+
*
5+
* Portions Copyright (c) 2017-2017, Postgres Professional
6+
*
7+
*-------------------------------------------------------------------------
8+
*/
9+
10+
#ifndefLOGGER_H
11+
#defineLOGGER_H
12+
13+
/* Log destination bitmap */
14+
#defineLOG_DESTINATION_STDERR1
15+
#defineLOG_DESTINATION_LOGFILE2
16+
17+
/* Log level */
18+
#defineVERBOSE(-5)
19+
#defineLOG(-4)
20+
#defineINFO(-3)
21+
#defineNOTICE(-2)
22+
#defineWARNING(-1)
23+
#defineERROR1
24+
#defineFATAL2
25+
#definePANIC3
26+
27+
/* Logger parameters */
28+
29+
externintlog_destination;
30+
externintlog_level;
31+
externboolquiet;
32+
33+
externchar*log_filename;
34+
externchar*log_error_filename;
35+
externchar*log_directory;
36+
37+
externintlog_rotation_size;
38+
externintlog_rotation_age;
39+
40+
#undef elog
41+
externvoidelog(intelevel,constchar*fmt, ...)pg_attribute_printf(2,3);
42+
43+
#endif/* LOGGER_H */

‎pgut/pgut.c

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include<time.h>
1616
#include<unistd.h>
1717

18+
#include"logger.h"
1819
#include"pgut.h"
1920

2021
/* old gcc doesn't have LLONG_MAX. */
@@ -34,7 +35,6 @@ const char *port = NULL;
3435
constchar*username=NULL;
3536
char*password=NULL;
3637
boolverbose= false;
37-
boolquiet= false;
3838
boolprompt_password= true;
3939

4040
/* Database connections */
@@ -1032,55 +1032,6 @@ pgut_wait(int num, PGconn *connections[], struct timeval *timeout)
10321032
return-1;
10331033
}
10341034

1035-
/*
1036-
* elog - log to stderr and exit if ERROR or FATAL
1037-
*/
1038-
void
1039-
elog(intelevel,constchar*fmt, ...)
1040-
{
1041-
va_listargs;
1042-
1043-
if (!verbose&&elevel <=LOG)
1044-
return;
1045-
if (quiet&&elevel<WARNING)
1046-
return;
1047-
1048-
switch (elevel)
1049-
{
1050-
caseLOG:
1051-
fputs("LOG: ",stderr);
1052-
break;
1053-
caseINFO:
1054-
fputs("INFO: ",stderr);
1055-
break;
1056-
caseNOTICE:
1057-
fputs("NOTICE: ",stderr);
1058-
break;
1059-
caseWARNING:
1060-
fputs("WARNING: ",stderr);
1061-
break;
1062-
caseFATAL:
1063-
fputs("FATAL: ",stderr);
1064-
break;
1065-
casePANIC:
1066-
fputs("PANIC: ",stderr);
1067-
break;
1068-
default:
1069-
if (elevel >=ERROR)
1070-
fputs("ERROR: ",stderr);
1071-
break;
1072-
}
1073-
1074-
va_start(args,fmt);
1075-
vfprintf(stderr,fmt,args);
1076-
fputc('\n',stderr);
1077-
fflush(stderr);
1078-
va_end(args);
1079-
1080-
if (elevel>0)
1081-
exit_or_abort(elevel);
1082-
}
1083-
10841035
voidpg_log(eLogTypetype,constchar*fmt, ...)
10851036
{
10861037
va_listargs;

‎pgut/pgut.h

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#include<assert.h>
1717
#include<sys/time.h>
1818

19+
#include"logger.h"
20+
1921
#if !defined(C_H)&& !defined(__cplusplus)
2022
#ifndefbool
2123
typedefcharbool;
@@ -84,7 +86,6 @@ extern const char *port;
8486
externconstchar*username;
8587
externchar*password;
8688
externboolverbose;
87-
externboolquiet;
8889
externboolprompt_password;
8990

9091
externboolinterrupted;
@@ -126,23 +127,6 @@ extern char *strdup_trim(const char *str);
126127
*/
127128
externFILE*pgut_fopen(constchar*path,constchar*mode,boolmissing_ok);
128129

129-
/*
130-
* elog
131-
*/
132-
#defineVERBOSE(-5)
133-
#defineLOG(-4)
134-
#defineINFO(-3)
135-
#defineNOTICE(-2)
136-
#defineWARNING(-1)
137-
#defineERROR1
138-
#defineFATAL2
139-
#definePANIC3
140-
141-
#undef elog
142-
externvoid
143-
elog(intelevel,constchar*fmt, ...)
144-
__attribute__((format(printf,2,3)));
145-
146130
/*
147131
* Assert
148132
*/

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp