def test_create_logger(self): with mock.patch.object(LogConfiguration, '__init__', return_value=None): with mock.patch('logging.getLogger') as mock_get: with mock.patch.object(LogConfiguration, 'file_logger'): with mock.patch.object(LogConfiguration, 'console_logger'): log_config = LogConfiguration('foo', 'bar') name = 'foobar' result = log_config.create_logger(name) mock_get.assert_called_once_with(name) mock_get().setLevel.assert_called_once_with( logging.DEBUG) mock_get().addHandler.assert_has_calls([ mock.call(log_config.file_logger), mock.call(log_config.console_logger) ]) self.assertEqual(result, mock_get())
def _test_init_with_log_value(self, debug, result_level): """Test logger initialization with specific debug and level.""" joined_path = 'baz' folder = 'foo' filename = 'bar' console_format = '[%(levelname)s] %(message)s' file_format = '[%(name)s][%(levelname)s][%(asctime)s] %(message)s' with mock.patch('logging.handlers.RotatingFileHandler') as mock_fh: with mock.patch('logging.StreamHandler') as mock_sh: with mock.patch('logging.Formatter') as mock_formatter: with mock.patch('os.path.join', return_value=joined_path) as mock_join: log_config = LogConfiguration(folder, filename, debug) mock_sh().setLevel.assert_called_once_with( result_level) mock_sh().setFormatter.assert_called_once_with( mock_formatter()) mock_fh.assert_called_once_with(joined_path, maxBytes=1024 * 1024, backupCount=20) mock_fh().setLevel.assert_called_once_with( logging.DEBUG) mock_fh().setFormatter.assert_called_once_with( mock_formatter()) mock_formatter.assert_has_calls([ mock.call(console_format), mock.call(file_format) ]) mock_join.assert_called_once_with( folder, 'logs', '%s.log' % filename) self.assertEqual(log_config._consoleLogger, mock_sh()) self.assertEqual(log_config.console_logger, mock_sh()) self.assertEqual(log_config._fileLogger, mock_fh()) self.assertEqual(log_config.file_logger, mock_fh()) return log_config
try: app.config['DEBUG'] = os.environ['DEBUG'] except KeyError: app.config['DEBUG'] = False # embed flask-migrate in the app itself try: app.config['SQLALCHEMY_DATABASE_URI'] = app.config['DATABASE_URI'] Migrate(app, Base) except KeyError: traceback.print_exc() raise IncompleteConfigException() # Init logger log_configuration = LogConfiguration( app.root_path, # type: ignore # type error skipped since flask 'platform', # now gives as Str but not yet updated in mypy app.config['DEBUG']) # https://github.com/python/typeshed/issues/2791 log = log_configuration.create_logger("Platform") def load_secret_keys(application: Flask, secret_session: str = 'secret_key', secret_csrf: str = 'secret_csrf') -> None: """ Configure the SECRET_KEY from a file in the instance directory. If the file does not exist, print instructions to create it from a shell with a random key, then exit. """ do_exit = False session_file_path = os.path.join( application.root_path,
from mod_test.controllers import mod_test from mod_upload.controllers import mod_upload from mod_customized.controllers import mod_customized app = Flask(__name__) app.wsgi_app = ProxyFix(app.wsgi_app) # Load config config = parse_config('config') app.config.from_mapping(config) try: app.config['DEBUG'] = os.environ['DEBUG'] except KeyError: app.config['DEBUG'] = False # Init logger log_configuration = LogConfiguration(app.root_path, 'platform', app.config['DEBUG']) log = log_configuration.create_logger("Platform") def install_secret_keys(application, secret_session='secret_key', secret_csrf='secret_csrf'): """ Configure the SECRET_KEY from a file in the instance directory. If the file does not exist, print instructions to create it from a shell with a random key, then exit. """ do_exit = False session_file_path = os.path.join(application.root_path, secret_session) csrf_file_path = os.path.join(application.root_path, secret_csrf) try: with open(session_file_path, 'rb') as session_file: application.config['SECRET_KEY'] = session_file.read()
from mod_sample.controllers import mod_sample from mod_test.controllers import mod_test from mod_upload.controllers import mod_upload app = Flask(__name__) app.wsgi_app = ProxyFix(app.wsgi_app) # Load config config = parse_config('config') app.config.from_mapping(config) try: app.config['DEBUG'] = os.environ['DEBUG'] except KeyError: app.config['DEBUG'] = False # Init logger log_configuration = LogConfiguration( app.root_path, 'platform', app.config['DEBUG']) log = log_configuration.create_logger("Platform") def install_secret_keys(application, secret_session='secret_key', secret_csrf='secret_csrf'): """Configure the SECRET_KEY from a file in the instance directory. If the file does not exist, print instructions to create it from a shell with a random key, then exit. """ do_exit = False session_file = os.path.join(application.root_path, secret_session)