summaryrefslogtreecommitdiffstats
path: root/deluge/log.py
diff options
context:
space:
mode:
authorPedro Algarvio <pedro@algarvio.me>2011-06-03 17:48:22 +0100
committerPedro Algarvio <pedro@algarvio.me>2011-06-03 17:48:22 +0100
commit87e767d4c1d03f88cef6cd3f9d7c71ed2ac06e29 (patch)
tree3b7a839b6a58cf005bf088ad30f5856d559e4bd3 /deluge/log.py
parentc00391a852ec00375e961ce6bb635c7f1afddff8 (diff)
parentce406674ecba03407466d7a13669bd1dcba6af7a (diff)
downloaddeluge-87e767d4c1d03f88cef6cd3f9d7c71ed2ac06e29.tar.gz
deluge-87e767d4c1d03f88cef6cd3f9d7c71ed2ac06e29.tar.bz2
deluge-87e767d4c1d03f88cef6cd3f9d7c71ed2ac06e29.zip
Merge branch 'master' into plugins-namespace
Diffstat (limited to 'deluge/log.py')
-rw-r--r--deluge/log.py45
1 files changed, 29 insertions, 16 deletions
diff --git a/deluge/log.py b/deluge/log.py
index b014fa9c7..04dfd75f0 100644
--- a/deluge/log.py
+++ b/deluge/log.py
@@ -48,9 +48,9 @@ __all__ = ["setupLogger", "setLoggerLevel", "getPluginLogger", "LOG"]
LoggingLoggerClass = logging.getLoggerClass()
if 'dev' in common.get_version():
- DEFAULT_LOGGING_FORMAT = "%%(asctime)s.%%(msecs)03.0f [%%(name)-%ds:%%(lineno)-4d][%%(levelname)-8s] %%(message)s"
+ DEFAULT_LOGGING_FORMAT = "%%(asctime)s.%%(msecs)03.0f [%%(levelname)-8s][%%(name)-%ds:%%(lineno)-4d] %%(message)s"
else:
- DEFAULT_LOGGING_FORMAT = "%%(asctime)s [%%(name)-%ds][%%(levelname)-8s] %%(message)s"
+ DEFAULT_LOGGING_FORMAT = "%%(asctime)s [%%(levelname)-8s][%%(name)-%ds] %%(message)s"
MAX_LOGGER_NAME_LENGTH = 3
class Logging(LoggingLoggerClass):
@@ -117,6 +117,7 @@ class Logging(LoggingLoggerClass):
return rv
levels = {
+ "none": logging.NOTSET,
"info": logging.INFO,
"warn": logging.WARNING,
"warning": logging.WARNING,
@@ -140,8 +141,10 @@ def setupLogger(level="error", filename=None, filemode="w"):
if logging.getLoggerClass() is not Logging:
logging.setLoggerClass(Logging)
+ logging.addLevelName(5, 'TRACE')
+ logging.addLevelName(1, 'GARBAGE')
- level = levels.get(level, "error")
+ level = levels.get(level, logging.ERROR)
rootLogger = logging.getLogger()
@@ -149,7 +152,7 @@ def setupLogger(level="error", filename=None, filemode="w"):
import logging.handlers
handler = logging.handlers.RotatingFileHandler(
filename, filemode,
- maxBytes=5*1024*1024, # 5 Mb
+ maxBytes=50*1024*1024, # 50 Mb
backupCount=3,
encoding='utf-8',
delay=0
@@ -162,6 +165,7 @@ def setupLogger(level="error", filename=None, filemode="w"):
)
else:
handler = logging.StreamHandler()
+
handler.setLevel(level)
formatter = logging.Formatter(
@@ -263,21 +267,30 @@ class __BackwardsCompatibleLOG(object):
import warnings
logger_name = 'deluge'
stack = inspect.stack()
- module_stack = stack.pop(1)
+ stack.pop(0) # The logging call from this module
+ module_stack = stack.pop(0) # The module that called the log function
caller_module = inspect.getmodule(module_stack[0])
+ # In some weird cases caller_module might be None, try to continue
+ caller_module_name = getattr(caller_module, '__name__', '')
warnings.warn_explicit(DEPRECATION_WARNING, DeprecationWarning,
module_stack[1], module_stack[2],
- caller_module.__name__)
- for member in stack:
- module = inspect.getmodule(member[0])
- if not module:
- continue
- if module.__name__ in ('deluge.plugins.pluginbase',
- 'deluge.plugins.init'):
- logger_name += '.plugin.%s' % caller_module.__name__
- # Monkey Patch The Plugin Module
- caller_module.log = logging.getLogger(logger_name)
- break
+ caller_module_name)
+ if caller_module:
+ for member in stack:
+ module = inspect.getmodule(member[0])
+ if not module:
+ continue
+ if module.__name__ in ('deluge.plugins.pluginbase',
+ 'deluge.plugins.init'):
+ logger_name += '.plugin.%s' % caller_module_name
+ # Monkey Patch The Plugin Module
+ caller_module.log = logging.getLogger(logger_name)
+ break
+ else:
+ logging.getLogger(logger_name).warning(
+ "Unable to monkey-patch the calling module's `log` attribute! "
+ "You should really update and rebuild your plugins..."
+ )
return getattr(logging.getLogger(logger_name), name)
LOG = __BackwardsCompatibleLOG()