summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2015-04-27 16:52:27 +0000
committerAlan Conway <aconway@apache.org>2015-04-27 16:52:27 +0000
commit554319f567131d3353e4f19db7b5e57cd8cad166 (patch)
treeb97691196f875b4e29538544d3d78a4615fb5a0c /cpp
parent78aa629169ae04fd869a2d2eb475a6ceb85518ed (diff)
downloadqpid-python-554319f567131d3353e4f19db7b5e57cd8cad166.tar.gz
NO-JIRA: Add log command to qpid-config to set log levels.
Get current level: qpid-config log Set new level: qpid-config log <newlevel> Fixed bugs in getLogLevel and in handling invalid log levels. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1676333 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/log/Logger.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/cpp/src/qpid/log/Logger.cpp b/cpp/src/qpid/log/Logger.cpp
index 7b1e22f80c..fc254f2857 100644
--- a/cpp/src/qpid/log/Logger.cpp
+++ b/cpp/src/qpid/log/Logger.cpp
@@ -160,21 +160,23 @@ void Logger::add(Statement& s) {
}
void Logger::configure(const Options& opts) {
- options = opts;
clear();
Options o(opts);
if (o.trace)
o.selectors.push_back("trace+");
format(o);
select(Selector(o));
+ options = opts;
setPrefix(opts.prefix);
options.sinkOptions->setup(this);
}
void Logger::reconfigure(const std::vector<std::string>& selectors) {
- options.selectors = selectors;
- options.deselectors.clear();
- select(Selector(options));
+ Options o(options);
+ o.selectors = selectors;
+ o.deselectors.clear();
+ select(Selector(o));
+ options = o; // Don't update options till selectors has been validated.
}
void Logger::setPrefix(const std::string& p) { prefix = p; }