source: GTP/trunk/Lib/Geom/OgreStuff/include/OgreLog.h @ 1809

Revision 1809, 2.6 KB checked in by gumbau, 18 years ago (diff)
Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25
26#ifndef __Log_H__
27#define __Log_H__
28
29#include "OgrePrerequisites.h"
30
31namespace Ogre {
32
33    // LogMessageLevel + LoggingLevel > OGRE_LOG_THRESHOLD = message logged
34    #define OGRE_LOG_THRESHOLD 4
35
36    /** The level of detail to which the log will go into.
37    */
38    enum LoggingLevel
39    {
40        LL_LOW = 1,
41        LL_NORMAL = 2,
42        LL_BOREME = 3
43    };
44
45    /** The importance of a logged message.
46    */
47    enum LogMessageLevel
48    {
49        LML_TRIVIAL = 1,
50        LML_NORMAL = 2,
51        LML_CRITICAL = 3
52    };
53
54    /** Log class for writing debug/log data to files.
55        @note
56            <br>Should not be used directly, but trough the LogManager class.
57    */
58    class _OgreExport Log
59    {
60    protected:
61        std::ofstream   mfpLog;
62        LoggingLevel    mLogLevel;
63        bool                    mDebugOut;
64                bool                    mSuppressFile;
65                String                  mName;
66
67    public:
68        /** Usual constructor - called by LogManager.
69        */
70        Log( const String& name, bool debugOutput = true, bool suppressFileOutput = false);
71
72        /** Default destructor.
73        */
74        ~Log();
75
76        /** Log a message to the debugger and to log file (the default is
77            "<code>OGRE.log</code>"),
78        */
79        void logMessage(
80            const String& message,
81            LogMessageLevel lml = LML_NORMAL,
82            bool maskDebug = false);
83
84        /** Sets the level of the log detail.
85        */
86        void setLogDetail(LoggingLevel ll);
87    };
88
89}
90
91#endif
Note: See TracBrowser for help on using the repository browser.