mirror of https://github.com/scrapy/scrapy.git
use settings.getdict instead of settings.get
test configure_logging
This commit is contained in:
parent
c4939f464b
commit
e614fbbb10
|
|
@ -92,7 +92,7 @@ def configure_logging(settings=None, install_root_handler=True):
|
|||
if isinstance(settings, dict) or settings is None:
|
||||
settings = Settings(settings)
|
||||
|
||||
LOGGING_FROM_SETTINGS = settings.get('LOGGING')
|
||||
LOGGING_FROM_SETTINGS = settings.getdict('LOGGING')
|
||||
|
||||
if settings.getbool('LOG_STDOUT'):
|
||||
sys.stdout = StreamLogger(logging.getLogger('stdout'))
|
||||
|
|
|
|||
|
|
@ -1,29 +1,18 @@
|
|||
from logging import FileHandler
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
# from logging import FileHandler
|
||||
# from logging.handlers import TimedRotatingFileHandler
|
||||
from scrapy.utils import log
|
||||
import logging
|
||||
import unittest
|
||||
|
||||
|
||||
class TestCase(unittest.TestCase):
|
||||
|
||||
def test_settings_None(self):
|
||||
log.configure_logging()
|
||||
self.assertEqual(logging.getLogger().getEffectiveLevel(), 0)
|
||||
|
||||
def test_import_handler(self):
|
||||
"""Test function: _import_handler"""
|
||||
name = 'logging.handlers.TimedRotatingFileHandler'
|
||||
self.assertEqual(log._import_hander(name), TimedRotatingFileHandler)
|
||||
|
||||
def test_get_handler(self):
|
||||
"""Test function: _get_handler with LOG_FILE"""
|
||||
# First create log file path
|
||||
import os
|
||||
import tempfile
|
||||
file_path = tempfile.mkstemp()[1]
|
||||
settings = {'LOG_FILE': file_path, 'LOG_ENCODIUNG': 'utf-8', 'LOG_LEVEL': 'DEBUG'}
|
||||
handler = log._get_handler(settings)
|
||||
self.assertIsInstance(handler, FileHandler)
|
||||
# Adding LOG_HANDLER to settings should update the handler
|
||||
settings['LOG_HANDLER'] = 'logging.handlers.TimedRotatingFileHandler'
|
||||
handler = log._get_handler(settings)
|
||||
self.assertIsInstance(handler, TimedRotatingFileHandler)
|
||||
# Remove log file
|
||||
os.remove(file_path)
|
||||
def test_settings_LOGGING(self):
|
||||
settings = {'LOGGING': {'loggers': {'logger3': {'level': 'CRITICAL'}}}}
|
||||
log.configure_logging(settings=settings)
|
||||
self.assertEqual(logging.getLogger().getEffectiveLevel(), 30)
|
||||
self.assertEqual(logging.getLogger('logger3').getEffectiveLevel(), 50)
|
||||
|
|
|
|||
Loading…
Reference in New Issue