TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
AppenderConsole.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef APPENDERCONSOLE_H
19 #define APPENDERCONSOLE_H
20 
21 #include <string>
22 #include "Appender.h"
23 
25 {
27  RED,
41 };
42 
43 const uint8 MaxColors = uint8(WHITE) + 1;
44 
46 {
47  public:
48  typedef std::integral_constant<AppenderType, APPENDER_CONSOLE>::type TypeIndex;
49 
50  AppenderConsole(uint8 _id, std::string const& name, LogLevel level, AppenderFlags flags, ExtraAppenderArgs extraArgs);
51  void InitColors(const std::string& init_str);
52  AppenderType getType() const override { return TypeIndex::value; }
53 
54  private:
55  void SetColor(bool stdout_stream, ColorTypes color);
56  void ResetColor(bool stdout_stream);
57  void _write(LogMessage const* message) override;
58  bool _colored;
60 };
61 
62 #endif
Definition: AppenderConsole.h:35
bool _colored
Definition: AppenderConsole.h:58
Definition: AppenderConsole.h:28
const uint8 MaxColors
Definition: AppenderConsole.h:43
AppenderType
Definition: Appender.h:44
Definition: AppenderConsole.h:29
Definition: AppenderConsole.h:30
Definition: AppenderConsole.h:27
std::integral_constant< AppenderType, APPENDER_CONSOLE >::type TypeIndex
Definition: AppenderConsole.h:48
Definition: AppenderConsole.h:32
virtual void _write(LogMessage const *)=0
std::vector< char const * > ExtraAppenderArgs
Definition: Appender.h:116
Definition: AppenderConsole.h:37
Definition: AppenderConsole.h:39
AppenderFlags
Definition: Appender.h:52
AppenderType getType() const override
Definition: AppenderConsole.h:52
Definition: AppenderConsole.h:34
Definition: Appender.h:62
Definition: AppenderConsole.h:26
LogLevel
Definition: Appender.h:31
#define TC_COMMON_API
Definition: Define.h:116
Definition: AppenderConsole.h:31
uint8_t uint8
Definition: g3dmath.h:164
Definition: AppenderConsole.h:33
const uint8 MaxLogLevels
Definition: Appender.h:42
Definition: AppenderConsole.h:45
Definition: AppenderConsole.h:36
uint8_t uint8
Definition: Define.h:152
Definition: AppenderConsole.h:40
const FieldDescriptor value
Definition: descriptor.h:1522
uint8 flags
Definition: DisableMgr.cpp:44
Definition: Appender.h:88
ColorTypes
Definition: AppenderConsole.h:24
Definition: AppenderConsole.h:38