Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
d026647f
Unverified
Commit
d026647f
authored
Mar 24, 2021
by
yoav-steinberg
Committed by
GitHub
Mar 24, 2021
Browse files
Avoid evaluating log arguments when log filtered by level. (#8685)
parent
a2af2a30
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/server.c
View file @
d026647f
...
@@ -1161,12 +1161,10 @@ void serverLogRaw(int level, const char *msg) {
...
@@ -1161,12 +1161,10 @@ void serverLogRaw(int level, const char *msg) {
/* Like serverLogRaw() but with printf-alike support. This is the function that
/* Like serverLogRaw() but with printf-alike support. This is the function that
* is used across the code. The raw version is only used in order to dump
* is used across the code. The raw version is only used in order to dump
* the INFO output on crash. */
* the INFO output on crash. */
void
serverLog
(
int
level
,
const
char
*
fmt
,
...)
{
void
_
serverLog
(
int
level
,
const
char
*
fmt
,
...)
{
va_list
ap
;
va_list
ap
;
char
msg
[
LOG_MAX_LEN
];
char
msg
[
LOG_MAX_LEN
];
if
((
level
&
0xff
)
<
server
.
verbosity
)
return
;
va_start
(
ap
,
fmt
);
va_start
(
ap
,
fmt
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
va_end
(
ap
);
va_end
(
ap
);
...
...
src/server.h
View file @
d026647f
...
@@ -2210,10 +2210,10 @@ void preventCommandAOF(client *c);
...
@@ -2210,10 +2210,10 @@ void preventCommandAOF(client *c);
void
preventCommandReplication
(
client
*
c
);
void
preventCommandReplication
(
client
*
c
);
int
prepareForShutdown
(
int
flags
);
int
prepareForShutdown
(
int
flags
);
#ifdef __GNUC__
#ifdef __GNUC__
void
serverLog
(
int
level
,
const
char
*
fmt
,
...)
void
_
serverLog
(
int
level
,
const
char
*
fmt
,
...)
__attribute__
((
format
(
printf
,
2
,
3
)));
__attribute__
((
format
(
printf
,
2
,
3
)));
#else
#else
void
serverLog
(
int
level
,
const
char
*
fmt
,
...);
void
_
serverLog
(
int
level
,
const
char
*
fmt
,
...);
#endif
#endif
void
serverLogRaw
(
int
level
,
const
char
*
msg
);
void
serverLogRaw
(
int
level
,
const
char
*
msg
);
void
serverLogFromHandler
(
int
level
,
const
char
*
msg
);
void
serverLogFromHandler
(
int
level
,
const
char
*
msg
);
...
@@ -2719,6 +2719,13 @@ void killIOThreads(void);
...
@@ -2719,6 +2719,13 @@ void killIOThreads(void);
void
killThreads
(
void
);
void
killThreads
(
void
);
void
makeThreadKillable
(
void
);
void
makeThreadKillable
(
void
);
/* Use macro for checking log level to avoid evaluating arguments in cases log
* should be ignored due to low level. */
#define serverLog(level, ...) do {\
if (((level)&0xff) < server.verbosity) break;\
_serverLog(level, __VA_ARGS__);\
} while(0)
/* TLS stuff */
/* TLS stuff */
void
tlsInit
(
void
);
void
tlsInit
(
void
);
void
tlsCleanup
(
void
);
void
tlsCleanup
(
void
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment