AnCH Framework 0.1
Another C++ Hack Framework
Loading...
Searching...
No Matches
messageFormatter.hpp
1/*
2 ANCH Framework: ANother C++ Hack is a C++ framework based on C++11 standard
3 Copyright (C) 2012 Vincent Lachenal
4
5 This file is part of ANCH Framework.
6
7 ANCH Framework is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 ANCH Framework is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with ANCH Framework. If not, see <http://www.gnu.org/licenses/>.
19*/
20#pragma once
21
22#include <iostream>
23#include <vector>
24#include <regex>
25
26#include "log/levels.hpp"
27#include "log/fmt/iFormatter.hpp"
28
29
30namespace anch::log {
31 class Writer;
32}
33
34namespace anch::log::fmt {
35
51 friend anch::log::Writer;
52
53 private:
54 // Attributes +
56 const static std::regex CONFIG_PATTERN;
57
59 std::vector<anch::log::fmt::IFormatter*> _formatters;
60 // Attributes -
61
62 public:
63 // Constructors +
68
74 MessageFormatter(const std::string& linePattern);
75 // Constructors -
76
77 // Destructor +
82 // Destructor -
83
84 // Methods +
85 public:
95 const std::string formatMessage(const std::string& category,
96 const anch::log::Level& level,
97 const std::string& message) const;
98
99 private:
105 void addFormatter(const std::string& strFormatter);
106
112 void parserPattern(const std::string& pattern);
113 // Methods -
114
115 };
116
117}
Logger writter definition.
Definition writer.hpp:38
const std::string formatMessage(const std::string &category, const anch::log::Level &level, const std::string &message) const
MessageFormatter(const std::string &linePattern)