Crazy Eddie's GUI System 0.8.7
DefaultLogger.h
1/***********************************************************************
2 created: 25/1/2006
3 author: Andrew Zabolotny
4
5 purpose: Defines interface for the default Logger implementation
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2012 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29#ifndef _CEGUIDefaultLogger_h_
30#define _CEGUIDefaultLogger_h_
31
32#include "CEGUI/Logger.h"
33
34#if defined(_MSC_VER)
35# pragma warning(push)
36# pragma warning(disable : 4275)
37# pragma warning(disable : 4251)
38#endif
39
40namespace CEGUI
41{
49class CEGUIEXPORT DefaultLogger : public Logger
50{
51public:
52 DefaultLogger(void);
53 ~DefaultLogger(void);
54
55 // overridden from Logger
56 void logEvent(const String& message, LoggingLevel level = Standard);
57 void setLogFilename(const String& filename, bool append = false);
58
59protected:
61 std::ofstream d_ostream;
63 std::ostringstream d_workstream;
64
65 typedef std::pair<String, LoggingLevel> CacheItem;
66 typedef std::vector<CacheItem
67 CEGUI_VECTOR_ALLOC(CacheItem)> Cache;
69 Cache d_cache;
72};
73
74}
75
76#if defined(_MSC_VER)
77# pragma warning(pop)
78#endif
79
80#endif
81
Default implementation for the Logger class. If you want to redirect CEGUI logs to some place other t...
Definition: DefaultLogger.h:50
std::ofstream d_ostream
Stream used to implement the logger.
Definition: DefaultLogger.h:61
Cache d_cache
Used to cache log entries before log file is created.
Definition: DefaultLogger.h:69
void logEvent(const String &message, LoggingLevel level=Standard)
Add an event to the log.
bool d_caching
true while log entries are beign cached (prior to logfile creation)
Definition: DefaultLogger.h:71
std::ostringstream d_workstream
Used to build log entry strings.
Definition: DefaultLogger.h:63
void setLogFilename(const String &filename, bool append=false)
Set the name of the log file where all subsequent log entries should be written. The interpretation o...
Abstract class that defines the interface of a logger object for the GUI system. The default implemen...
Definition: Logger.h:75
String class used within the GUI system.
Definition: String.h:64
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
LoggingLevel
Enumeration of logging levels.
Definition: Logger.h:57
@ Standard
Basic events will be logged (default level).
Definition: Logger.h:60