summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2011-10-05 16:08:35 +0200
committerantirez <antirez@gmail.com>2011-10-06 15:25:53 +0200
commit0e841b998a4a7187585a965f96202cc7bacf5163 (patch)
treeb2a7edd3363cdadaba57d63274194f9ae8589f9d
parentcd0458470ec1280a984d6fac60db6e142e70d97b (diff)
downloadredis-0e841b998a4a7187585a965f96202cc7bacf5163.tar.gz
CONFIG SET/GET support for loglevel
-rw-r--r--src/config.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 24cdd914f..5f6672ac7 100644
--- a/src/config.c
+++ b/src/config.c
@@ -501,6 +501,18 @@ void configSetCommand(redisClient *c) {
} else if (!strcasecmp(c->argv[2]->ptr,"slowlog-max-len")) {
if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
server.slowlog_max_len = (unsigned)ll;
+ } else if (!strcasecmp(c->argv[2]->ptr,"loglevel")) {
+ if (!strcasecmp(o->ptr,"warning")) {
+ server.verbosity = REDIS_WARNING;
+ } else if (!strcasecmp(o->ptr,"notice")) {
+ server.verbosity = REDIS_NOTICE;
+ } else if (!strcasecmp(o->ptr,"verbose")) {
+ server.verbosity = REDIS_VERBOSE;
+ } else if (!strcasecmp(o->ptr,"debug")) {
+ server.verbosity = REDIS_DEBUG;
+ } else {
+ goto badfmt;
+ }
} else {
addReplyErrorFormat(c,"Unsupported CONFIG parameter: %s",
(char*)c->argv[2]->ptr);
@@ -681,6 +693,20 @@ void configGetCommand(redisClient *c) {
addReplyBulkLongLong(c,server.slowlog_max_len);
matches++;
}
+ if (stringmatch(pattern,"loglevel",0)) {
+ char *s;
+
+ switch(server.verbosity) {
+ case REDIS_WARNING: s = "warning"; break;
+ case REDIS_VERBOSE: s = "verbose"; break;
+ case REDIS_NOTICE: s = "notice"; break;
+ case REDIS_DEBUG: s = "debug"; break;
+ default: s = "unknown"; break; /* too harmless to panic */
+ }
+ addReplyBulkCString(c,"loglevel");
+ addReplyBulkCString(c,s);
+ matches++;
+ }
setDeferredMultiBulkLength(c,replylen,matches*2);
}