Add file based debug logger
This commit is contained in:
parent
c8b6e4728d
commit
fc8b932723
@ -1,5 +1,6 @@
|
||||
import asyncore
|
||||
import logging
|
||||
import logging.handlers
|
||||
import multiprocessing
|
||||
import optparse
|
||||
import os
|
||||
@ -16,7 +17,7 @@ logger = logging.getLogger('mopidy.main')
|
||||
|
||||
def main():
|
||||
options = _parse_options()
|
||||
_setup_logging(options.verbosity_level)
|
||||
_setup_logging(options.verbosity_level, options.debug)
|
||||
get_or_create_folder('~/.mopidy/')
|
||||
core_queue = multiprocessing.Queue()
|
||||
get_class(settings.SERVER)(core_queue)
|
||||
@ -32,17 +33,35 @@ def _parse_options():
|
||||
parser.add_option('-v', '--verbose',
|
||||
action='store_const', const=2, dest='verbosity_level',
|
||||
help='more output (debug level)')
|
||||
parser.add_option('-d', '--debug',
|
||||
action='store_true', dest='debug',
|
||||
help='debug logging to file')
|
||||
return parser.parse_args()[0]
|
||||
|
||||
def _setup_logging(verbosity_level):
|
||||
def _setup_logging(verbosity_level, debug):
|
||||
if verbosity_level == 0:
|
||||
level = logging.WARNING
|
||||
elif verbosity_level == 2:
|
||||
level = logging.DEBUG
|
||||
else:
|
||||
level = logging.INFO
|
||||
|
||||
logging.basicConfig(format=settings.CONSOLE_LOG_FORMAT, level=level)
|
||||
|
||||
if not debug:
|
||||
return
|
||||
|
||||
root = logging.getLogger('')
|
||||
root.setLevel(logging.DEBUG)
|
||||
|
||||
formatter = logging.Formatter(settings.DEBUG_LOG_FORMAT)
|
||||
|
||||
handler = logging.handlers.RotatingFileHandler(
|
||||
settings.DEBUG_LOG_FILENAME, maxBytes=102400, backupCount=3)
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
root.addHandler(handler)
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
|
||||
@ -29,6 +29,12 @@ BACKENDS = (
|
||||
CONSOLE_LOG_FORMAT = u'%(levelname)-8s %(asctime)s' + \
|
||||
' [%(process)d:%(threadName)s] %(name)s\n %(message)s'
|
||||
|
||||
#: The log format used for debug log dumps.
|
||||
DEBUG_LOG_FORMAT = u'%(asctime)s - %(levelname)-5s - %(name)s - %(message)s'
|
||||
|
||||
#: The file to log debug data to.
|
||||
DEBUG_LOG_FILENAME = u'debug.log'
|
||||
|
||||
#: Protocol frontend to use. Default::
|
||||
#:
|
||||
#: FRONTEND = u'mopidy.mpd.frontend.MpdFrontend'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user