def test_init_override(self, tmpdir): with cd(tmpdir): # Before override self.runner.invoke(cli, ['init', '-lvl', 'error']) logme_path = Path(tmpdir) / 'logme.ini' conf_content_before = get_logger_config(logme_path) assert conf_content_before['level'] == 'ERROR' self.runner.invoke(cli, ['init', '-o']) conf_content_after = get_logger_config(logme_path) assert conf_content_after['level'] == 'DEBUG'
def test_get_config_content_ver13(): conf_content = get_logger_config(__file__, 'ver13_config') assert conf_content['formatter'] == { 'fmt': '{asctime} - {name} - {levelname} - {message}', 'datefmt': '%Y/%m/%d', 'style': '{' }
def ver11_logger(): ver11_conf = get_logger_config(__file__, 'ver11_config') ver11_logger = LogmeLogger('test_ver11', ver11_conf) yield ver11_logger del logging.Logger.manager.loggerDict['test_ver11']
def test_reset_handler_rename(self): logger = LogmeLogger('rename_logger', self.config) assert logger.name == 'rename_logger' config = get_logger_config(__file__, name='socket_config') logger.reset_config(config_dict=config, name='logger_new_name') assert logger.name == 'logger_new_name'
def logger_from_provider(): config = get_logger_config(__file__) color_conf = get_color_config(__file__) logger = LogmeLogger(name='test_logger', config=config, color_config=color_conf) yield logger del logging.Logger.manager.loggerDict['test_logger']
def test_log_decorator_function(args, logger_name, config_name): global dummy_func provider = LogProvider(dummy_func, **args) logger = provider.logger assert logger.name == logger_name assert logger.config == get_logger_config(__file__, name=config_name)
def test_module_logger(caplog): my_logger = ModuleLogger(frame=1, name='test_module_logger') assert type(my_logger.logger) == LogmeLogger assert my_logger.name == 'test_module_logger' assert my_logger.master_formatter == '{asctime} - {name} - {levelname} - {module}::{funcName}::{message}' assert my_logger.config == get_logger_config(__file__) my_logger.info('my test module logger content') assert caplog.record_tuples[0] == ('test_module_logger', 20, 'my test module logger content')
def test_set_handlers_handler_level_config(self, tmpdir): """ Ensure master_level applies to handlers without *level* config set on individual handler """ config = get_logger_config(__file__, 'my_test_logger') logger = LogmeLogger('handler_level_conf', config) handler = logger.handlers['StreamHandler'] assert handler.level == 20 # INFO assert handler.formatter._fmt == '{asctime}::{message}'
def test_formatter_with_args(self, tmpdir): config = get_logger_config(__file__, 'ver13_config') config['file']['filename'] = tmpdir.join(config['file']['filename']) logger = LogmeLogger('formatter_with_args', config=config) logger.info('test info') with open(config['file']['filename']) as log_File: log_msg = log_File.readline() timestamp = log_msg.split('-')[0].strip() # This would raise an error if the time format was not correct datetime.strptime(timestamp, '%Y/%m/%d')
def test_color_config_none_exist(tmpdir): """ Ensure color config returns None if none existent """ logme_file = tmpdir.join('logme.ini') logger_conifg = get_logger_config(__file__) config_dict = {'logme': logger_conifg} config = ConfigParser.from_dict(config_dict) with open(logme_file, 'w') as file: config.write(file) color_config = get_color_config(logme_file) assert color_config is None
def setup_class(cls): cls.config = get_logger_config(__file__)
def test_get_logger_config_raise(conf_name): with pytest.raises(InvalidLoggerConfig): get_logger_config(__file__, conf_name)
def test_get_logger_config(conf_name, expected_master_level): logger_config = get_logger_config(__file__, conf_name) assert logger_config['level'] == expected_master_level
def file_config_content(tmpdir): config = get_logger_config(__file__, 'filehandler_conf') config['FileHandler']['filename'] = tmpdir.join(config['FileHandler']['filename']) yield config
def test_get_config_content_ver13(): conf_content = get_logger_config(__file__, 'ver13_config') print(conf_content)