MongoDB C++ Driver legacy-1.1.2
Loading...
Searching...
No Matches
log_manager.h
1/* Copyright 2013 10gen Inc.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#pragma once
17
18#include <string>
19
20#include "mongo/base/disallow_copying.h"
21#include "mongo/logger/component_message_log_domain.h"
22#include "mongo/platform/unordered_map.h"
23
24namespace mongo {
25namespace logger {
26
33 MONGO_DISALLOW_COPYING(LogManager);
34
35public:
36 LogManager();
38
43 return &_globalDomain;
44 }
45
49 MessageLogDomain* getNamedDomain(const std::string& name);
50
51private:
52 typedef unordered_map<std::string, MessageLogDomain*> DomainsByNameMap;
53
54 DomainsByNameMap _domains;
55 ComponentMessageLogDomain _globalDomain;
56};
57
58} // namespace logger
59} // namespace mongo
Logging domain for ephemeral messages with minimum severity.
Definition component_message_log_domain.h:27
Logging domain for events of type E.
Definition log_domain.h:50
Container for managing log domains.
Definition log_manager.h:32
MessageLogDomain * getNamedDomain(const std::string &name)
Get the log domain with the given name, creating if needed.
ComponentMessageLogDomain * getGlobalDomain()
Gets the global domain for this manager.
Definition log_manager.h:42
Utility functions for parsing numbers from strings.
Definition compare_numbers.h:20