Kea  2.1.7-git
output_option.cc
Go to the documentation of this file.
1 // Copyright (C) 2011-2020 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #include <config.h>
8 
9 #include <string>
10 
11 #include <boost/algorithm/string.hpp>
12 
13 #include <log/log_messages.h>
14 #include <log/macros.h>
15 #include <log/output_option.h>
16 
17 namespace isc {
18 namespace log {
19 
21 const std::string OutputOption::DEFAULT_CONSOLE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i.%t] %m\n";
22 
24 const std::string OutputOption::DEFAULT_FILE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i.%t] %m\n";
25 
27 const std::string OutputOption::DEFAULT_SYSLOG_PATTERN = "%-5p [%c.%t] %m\n";
28 
30 getDestination(const std::string& dest_str) {
31  if (boost::iequals(dest_str, "console")) {
33  } else if (boost::iequals(dest_str, "file")) {
35  } else if (boost::iequals(dest_str, "syslog")) {
37  } else {
38  Logger logger("log");
39  LOG_ERROR(logger, LOG_BAD_DESTINATION).arg(dest_str);
41  }
42 }
43 
45 getStream(const std::string& stream_str) {
46  if (boost::iequals(stream_str, "stderr")) {
48  } else if (boost::iequals(stream_str, "stdout")) {
50  } else {
51  Logger logger("log");
52  LOG_ERROR(logger, LOG_BAD_STREAM).arg(stream_str);
54  }
55 }
56 
57 } // namespace log
58 } // namespace isc
Logger Class.
Definition: log/logger.h:141
OutputOption::Stream getStream(const std::string &stream_str)
#define LOG_ERROR(LOGGER, MESSAGE)
Macro to conveniently test error output and log it.
Definition: macros.h:32
const isc::log::MessageID LOG_BAD_STREAM
Definition: log_messages.h:13
static const std::string DEFAULT_SYSLOG_PATTERN
Default layout pattern for syslog logs.
Definition: output_option.h:44
Destination
Destinations.
Definition: output_option.h:48
const isc::log::MessageID LOG_BAD_DESTINATION
Definition: log_messages.h:11
static const std::string DEFAULT_CONSOLE_PATTERN
Default layout pattern for console logs.
Definition: output_option.h:40
Defines the logger used by the top-level component of kea-lfc.
isc::log::Logger logger("asiodns")
Use the ASIO logger.
OutputOption::Destination getDestination(const std::string &dest_str)
static const std::string DEFAULT_FILE_PATTERN
Default layout pattern for file logs.
Definition: output_option.h:42
Stream
If console, stream on which messages are output.
Definition: output_option.h:55