Added loglevel RFE.

This commit is contained in:
Jeremy Fincher 2004-01-13 18:03:01 +00:00
parent 2ea181073b
commit 1a824e4c2e
3 changed files with 22 additions and 3 deletions

View File

@ -41,10 +41,12 @@ import fix
import time import time
import pprint import pprint
import string import string
import logging
import smtplib import smtplib
import textwrap import textwrap
from itertools import imap from itertools import imap
import log
import conf import conf
import ircdb import ircdb
import utils import utils
@ -369,6 +371,19 @@ class Admin(privmsgs.CapabilityCheckingPrivmsg):
irc.replySuccess() irc.replySuccess()
reportbug = privmsgs.thread(reportbug) reportbug = privmsgs.thread(reportbug)
def loglevel(self, irc, msg, args):
"""{DEBUG,INFO,WARNING,ERROR,CRITICAL}
Sets the logging level of the bot's logs.
"""
level = privmsgs.getArgs(args)
try:
level = getattr(logging, level.upper())
except AttributeError:
raise callbacks.ArgumentError
log.setLevel(level)
irc.replySuccess()
Class = Admin Class = Admin

View File

@ -150,16 +150,16 @@ pluginFormatter = Formatter('%(levelname)s %(asctime)s %(name)s %(message)s')
_logger = logging.getLogger('supybot') _logger = logging.getLogger('supybot')
_handler = BetterFileHandler(os.path.join(conf.logDir, 'misc.log')) _handler = BetterFileHandler(os.path.join(conf.logDir, 'misc.log'))
_handler.setFormatter(formatter) _handler.setFormatter(formatter)
_handler.setLevel(conf.minimumLogPriority) _handler.setLevel(-1)
_logger.addHandler(_handler) _logger.addHandler(_handler)
_logger.setLevel(-1) _logger.setLevel(conf.minimumLogPriority)
if conf.stdoutLogging: if conf.stdoutLogging:
_stdoutHandler = BetterStreamHandler(sys.stdout) _stdoutHandler = BetterStreamHandler(sys.stdout)
_formatString = '%(name)s: %(levelname)s %(message)s' _formatString = '%(name)s: %(levelname)s %(message)s'
_stdoutFormatter = ColorizedFormatter(_formatString) _stdoutFormatter = ColorizedFormatter(_formatString)
_stdoutHandler.setFormatter(_stdoutFormatter) _stdoutHandler.setFormatter(_stdoutFormatter)
_stdoutHandler.setLevel(conf.minimumLogPriority) _stdoutHandler.setLevel(-1)
_logger.addHandler(_stdoutHandler) _logger.addHandler(_stdoutHandler)
debug = _logger.debug debug = _logger.debug
@ -169,6 +169,8 @@ error = _logger.error
critical = _logger.critical critical = _logger.critical
exception = _logger.exception exception = _logger.exception
setLevel = _logger.setLevel
atexit.register(logging.shutdown) atexit.register(logging.shutdown)
def getPluginLogger(name): def getPluginLogger(name):

View File

@ -44,6 +44,7 @@ import threading
import conf import conf
import ircdb import ircdb
import world import world
import ircmsgs
import ircutils import ircutils
import callbacks import callbacks
import structures import structures
@ -78,6 +79,7 @@ def getArgs(args, required=1, optional=0):
let the caller handle sending the help message. let the caller handle sending the help message.
""" """
assert not isinstance(args, str), 'args should be a list.' assert not isinstance(args, str), 'args should be a list.'
assert not isinstance(args, ircmsgs.IrcMsg), 'args should be a list.'
if len(args) < required: if len(args) < required:
raise callbacks.ArgumentError raise callbacks.ArgumentError
if len(args) < required + optional: if len(args) < required + optional: