mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 16:40:50 +00:00
Tag every log line with role.
Every log contains, just after the pid, a single character that provides information about the role of an instance: S - Slave M - Master C - Writing child X - Sentinel
This commit is contained in:
parent
39603a7e31
commit
d98fa718e0
13
src/redis.c
13
src/redis.c
@ -304,11 +304,21 @@ void redisLogRaw(int level, const char *msg) {
|
||||
} else {
|
||||
int off;
|
||||
struct timeval tv;
|
||||
int role_char;
|
||||
pid_t pid = getpid();
|
||||
|
||||
gettimeofday(&tv,NULL);
|
||||
off = strftime(buf,sizeof(buf),"%d %b %H:%M:%S.",localtime(&tv.tv_sec));
|
||||
snprintf(buf+off,sizeof(buf)-off,"%03d",(int)tv.tv_usec/1000);
|
||||
fprintf(fp,"[%d] %s %c %s\n",(int)getpid(),buf,c[level],msg);
|
||||
if (server.sentinel_mode) {
|
||||
role_char = 'X'; /* Sentinel. */
|
||||
} else if (pid != server.pid) {
|
||||
role_char = 'C'; /* RDB / AOF writing child. */
|
||||
} else {
|
||||
role_char = (server.masterhost ? 'S':'M'); /* Slave or Master. */
|
||||
}
|
||||
fprintf(fp,"%d:%c %s %c %s\n",
|
||||
(int)getpid(),role_char, buf,c[level],msg);
|
||||
}
|
||||
fflush(fp);
|
||||
|
||||
@ -1687,6 +1697,7 @@ void initServer() {
|
||||
server.syslog_facility);
|
||||
}
|
||||
|
||||
server.pid = getpid();
|
||||
server.current_client = NULL;
|
||||
server.clients = listCreate();
|
||||
server.clients_to_close = listCreate();
|
||||
|
@ -619,6 +619,7 @@ struct clusterState;
|
||||
|
||||
struct redisServer {
|
||||
/* General */
|
||||
pid_t pid; /* Main process pid. */
|
||||
char *configfile; /* Absolute config file path, or NULL */
|
||||
int hz; /* serverCron() calls frequency in hertz */
|
||||
redisDb *db;
|
||||
|
Loading…
x
Reference in New Issue
Block a user