2 # Copyright (C) 2005 Mathieu Ignacio -- mignacio@april.org
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 def __init__(self,logtype="stdout",loglevel=WARNING,option={}):
25 self.loglevel = loglevel
26 self.logtype = logtype
32 self.critical = CRITICAL
35 self.logger = getLogger('SipbXenDhcpServer')
37 if logtype == "file" :
39 handler = FileHandler(option["log_file"])
41 elif logtype == "syslog" :
42 handler = SysLogHandler((option["log_host"],option["log_port"]))
44 elif logtype == "http" :
45 handler = HTTPHandler(option["log_host"],option["log_url"],option["log_method"])
47 else : # logtype == "stdout" :
48 handler = StreamHandler()
52 handler.setFormatter(Formatter('%(asctime)s %(levelname)s %(message)s'))
53 self.logger.addHandler(handler)
54 self.logger.setLevel(loglevel)
56 def Output(self,level,infostring) :
57 self.logger.log(level,infostring)
59 def init(logtype,level,path):
62 Log = EventLogger(logtype,eval(level),path)
63 Log.Output(INFO,"EventLogger : Started.")