def test_get_handlers_sets_up_logging_appropriately_with_debug(tmpdir): class App: config = { 'NOTIFY_LOG_PATH': str(tmpdir / 'foo'), 'NOTIFY_APP_NAME': 'bar', 'NOTIFY_LOG_LEVEL': 'ERROR' } debug = True app = App() handlers = logging.get_handlers(app) assert len(handlers) == 1 assert type(handlers[0]) == builtin_logging.StreamHandler assert type(handlers[0].formatter) == logging.CustomLogFormatter assert not (tmpdir / 'foo').exists()
def test_get_handlers_sets_up_logging_appropriately_without_debug(tmpdir): class App: config = { # make a tempfile called foo 'NOTIFY_LOG_PATH': str(tmpdir / 'foo'), 'NOTIFY_APP_NAME': 'bar', 'NOTIFY_LOG_LEVEL': 'ERROR' } debug = False app = App() handlers = logging.get_handlers(app) assert len(handlers) == 1 assert type(handlers[0]) == builtin_logging.StreamHandler assert type(handlers[0].formatter) == logging.JSONFormatter
def test_get_handlers_sets_up_logging_appropriately(debug_mode, stdout_json, formatter): class App: config = { 'NOTIFY_LOG_PATH': 'foo', 'NOTIFY_APP_NAME': 'bar', 'NOTIFY_LOG_LEVEL': 'ERROR', 'LOGGING_STDOUT_JSON': stdout_json } debug = debug_mode app = App() handlers = logging.get_handlers(app) assert len(handlers) == 1 assert type(handlers[0]) == builtin_logging.StreamHandler assert type(handlers[0].formatter) == formatter
def test_get_handlers_sets_up_logging_appropriately_without_debug(tmpdir): class App: config = { # make a tempfile called foo 'NOTIFY_LOG_PATH': str(tmpdir / 'foo'), 'NOTIFY_APP_NAME': 'bar', 'NOTIFY_LOG_LEVEL': 'ERROR' } debug = False app = App() handlers = logging.get_handlers(app) assert len(handlers) == 2 assert type(handlers[0]) == builtin_logging.StreamHandler assert type(handlers[0].formatter) == logging.JSONFormatter assert type(handlers[1]) == builtin_logging_handlers.WatchedFileHandler assert type(handlers[1].formatter) == logging.JSONFormatter dir_contents = tmpdir.listdir() assert len(dir_contents) == 1 assert dir_contents[0].basename == 'foo.json'
def test_get_handlers_sets_up_logging_appropriately_on_live(tmpdir): class App: config = { # make a tempfile called foo 'NOTIFY_LOG_PATH': str(tmpdir / 'foo'), 'NOTIFY_APP_NAME': 'bar', 'NOTIFY_LOG_LEVEL': 'ERROR', 'LOGGING_STDOUT_JSON': False } debug = False app = App() handlers = logging.get_handlers(app) assert len(handlers) == 2 assert type(handlers[0]) == builtin_logging.FileHandler assert type(handlers[0].formatter) == logging.CustomLogFormatter assert type(handlers[1]) == builtin_logging.FileHandler assert type(handlers[1].formatter) == logging.JSONFormatter assert (tmpdir / 'foo').isfile() assert (tmpdir / 'foo.json').isfile()