1 //
2 // This file is part of the aMule Project.
3 //
4 // Copyright (c) 2004-2011 Marcelo Roberto Jimenez ( phoenix@amule.org )
5 // Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org )
6 //
7 // Any parts of this program derived from the xMule, lMule or eMule project,
8 // or contributed by third-party developers are copyrighted by their
9 // respective authors.
10 //
11 // This program is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation; either version 2 of the License, or
14 // (at your option) any later version.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program; if not, write to the Free Software
23 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
24 //
25 
26 
27 #include <sstream>
28 #include <common/StringFunctions.h>	// for char2unicode()
29 
30 #include "Logger.h"				// for Add(Debug)LogLineM()
31 
DEFINE_LOCAL_EVENT_TYPE(MULE_EVT_LOGLINE)32 DEFINE_LOCAL_EVENT_TYPE(MULE_EVT_LOGLINE)
33 
34 
35 #ifdef __DEBUG__
36 
37 bool CLogger::IsEnabled(DebugType /*type*/) const
38 {
39 	return true;
40 }
41 
42 // Dummy functions for EC logging
43 #include "ec/cpp/ECLog.h"
44 
ECLogIsEnabled()45 bool ECLogIsEnabled() { return false; }
DoECLogLine(const wxString &)46 void DoECLogLine(const wxString &) {}
47 
48 #endif /* __DEBUG__ */
49 
50 
AddLogLine(const wxString & file,int line,bool critical,const std::ostringstream & msg)51 void CLogger::AddLogLine(
52 	const wxString &file,
53 	int line,
54 	bool critical,
55 	const std::ostringstream &msg)
56 {
57 	AddLogLine(file, line, critical, static_cast<DebugType>(0), msg);
58 }
59 
60 
AddLogLine(const wxString & file,int line,bool critical,DebugType,const wxString & str,bool,bool)61 void CLogger::AddLogLine(
62 	const wxString &file,
63 	int line,
64 	bool critical,
65 	DebugType /* type */,
66 	const wxString &str,
67 	bool /*  toStdout */,
68 	bool /* toGUI */)
69 {
70 	std::string s;
71 	if (critical) {
72 		s = "Critical message: ";
73 	}
74 	printf("%s(%d): %s%s\n",
75 		(const char *)unicode2char(file),
76 		line, s.c_str(), (const char *)unicode2char(str));
77 }
78 
79 
AddLogLine(const wxString & file,int line,bool critical,DebugType,const std::ostringstream & msg)80 void CLogger::AddLogLine(
81 	const wxString &file,
82 	int line,
83 	bool critical,
84 	DebugType /*type*/,
85 	const std::ostringstream &msg)
86 {
87 	std::string s;
88 	if (critical) {
89 		s = "Critical message: ";
90 	}
91 	printf("%s(%d): %s%s\n",
92 		(const char *)unicode2char(file),
93 		line, s.c_str(), msg.str().c_str());
94 }
95 
96 CLogger theLogger;
97 
98 BEGIN_EVENT_TABLE(CLogger, wxEvtHandler)
99 END_EVENT_TABLE()
100