Kea 2.7.5
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
17namespace isc {
18namespace log {
19
21const std::string OutputOption::DEFAULT_CONSOLE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i.%t] %m\n";
22
24const std::string OutputOption::DEFAULT_FILE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i.%t] %m\n";
25
27const std::string OutputOption::DEFAULT_SYSLOG_PATTERN = "%-5p [%c.%t] %m\n";
28
30getDestination(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
45getStream(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:142
#define LOG_ERROR(LOGGER, MESSAGE)
Macro to conveniently test error output and log it.
Definition macros.h:32
OutputOption::Destination getDestination(const std::string &dest_str)
const isc::log::MessageID LOG_BAD_DESTINATION
OutputOption::Stream getStream(const std::string &stream_str)
const isc::log::MessageID LOG_BAD_STREAM
Defines the logger used by the top-level component of kea-lfc.
Stream
If console, stream on which messages are output.
static const std::string DEFAULT_FILE_PATTERN
Default layout pattern for file logs.
static const std::string DEFAULT_SYSLOG_PATTERN
Default layout pattern for syslog logs.
static const std::string DEFAULT_CONSOLE_PATTERN
Default layout pattern for console logs.