]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - include/filelogger.h
Merge pull request #531 from SaberUK/master+snprintf-removal
[user/henk/code/inspircd.git] / include / filelogger.h
1 /*
2  * InspIRCd -- Internet Relay Chat Daemon
3  *
4  *   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
5  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
6  *
7  * This file is part of InspIRCd.  InspIRCd is free software: you can
8  * redistribute it and/or modify it under the terms of the GNU General Public
9  * License as published by the Free Software Foundation, version 2.
10  *
11  * This program is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
14  * details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20
21 #pragma once
22
23 #include "logger.h"
24
25 /** Logging levels for use with InspIRCd::Log()
26  *  */
27 enum LogLevel
28 {
29         LOG_RAWIO   = 5,
30         LOG_DEBUG   = 10,
31         LOG_VERBOSE = 20,
32         LOG_DEFAULT = 30,
33         LOG_SPARSE  = 40,
34         LOG_NONE    = 50
35 };
36
37 /* Forward declaration -- required */
38 class InspIRCd;
39
40 /** A logging class which logs to a streamed file.
41  */
42 class CoreExport FileLogStream : public LogStream
43 {
44  private:
45         FileWriter *f;
46  public:
47         FileLogStream(int loglevel, FileWriter *fw);
48
49         virtual ~FileLogStream();
50
51         virtual void OnLog(int loglevel, const std::string &type, const std::string &msg);
52 };