AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
threadSafeWriter.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 <mutex>
23
24#include "logger/writer.hpp"
25
26
27namespace anch {
28 namespace logger {
29
35 class ThreadSafeWriter: public Writer {
36 private:
37 // Attributes +
39 std::mutex _mutex;
40 // Attributes -
41
42 public:
43 // Constructors +
52 ThreadSafeWriter(const std::string& fileName,
53 const std::string& linePattern,
54 unsigned int maxSize = 0,
55 int maxIndex = 0);
56
63 ThreadSafeWriter(std::ostream* output, const std::string& linePattern);
64 // Constructors -
65
66 // Destructor +
71 // Destructor -
72
73 public:
81 virtual void write(const std::string& category,
82 const anch::logger::Level& level,
83 const std::string& message);
84
85 };
86
87 }
88}
virtual void write(const std::string &category, const anch::logger::Level &level, const std::string &message)
ThreadSafeWriter(const std::string &fileName, const std::string &linePattern, unsigned int maxSize=0, int maxIndex=0)
ThreadSafeWriter(std::ostream *output, const std::string &linePattern)
Writer(const std::string &fileName, const std::string &linePattern, unsigned int maxSize=0, int maxIndex=0)
Logger namespace.
Definition anchDateFormatter.hpp:27
Level
Definition levels.hpp:32
AnCH framework base namespace.
Definition app.hpp:28