From 293ff25b129f2cc2d27be08dc1cfefc7f3b50dc8 Mon Sep 17 00:00:00 2001 From: lostcontrol Date: Mon, 18 Dec 2006 22:30:30 +0000 Subject: [PATCH] - Reset logging handlers only if new handler succeeds git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@493 a942ae1a-1317-0410-a47c-b1dcaea8d605 --- server/server.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/server/server.py b/server/server.py index 13d57669..c71708d7 100644 --- a/server/server.py +++ b/server/server.py @@ -300,14 +300,18 @@ class Server: finally: self.__loggingLock.release() + ## + # Sets the logging target. + # + # target can be a file, SYSLOG, STDOUT or STDERR. + # @param target the logging target + def setLogTarget(self, target): try: self.__loggingLock.acquire() - # Remove previous handler - logging.getLogger("fail2ban").handlers = [] if target == "SYSLOG": facility = logging.handlers.SysLogHandler.LOG_DAEMON - hdlr = logging.handlers.SysLogHandler("/dev/log", + hdlr = logging.handlers.SysLogHandler("/dev/log", facility = facility) elif target == "STDOUT": hdlr = logging.StreamHandler(sys.stdout) @@ -320,8 +324,11 @@ class Server: hdlr = logging.FileHandler(target) except IOError: logSys.error("Unable to log to " + target) + logSys.info("Logging to previous target " + self.__logTarget) return False self.__logTarget = target + # Remove previous handler + logging.getLogger("fail2ban").handlers = [] # set a format which is simpler for console use formatter = logging.Formatter("%(asctime)s %(name)-16s: %(levelname)-6s %(message)s") # tell the handler to use this format