* setup logger for hypercorn and dashboard * use logger.ini to setup dashboard logger * workaround: restore the hypercorn logger config - quart/hyercorn overwrites the logger config. as a workaround we restore the config at the beginning of a request * fix the hypercorn log handler only once * change proxy into a ASGI application - move Quart init from server.py into app.py - create Server class for config and loggin setup - restore hypercorn logging configuration after start of Quart/Hypercorn * move get_log_level into Server class * define config in test_emu_init_close * remove Web() instance from the testcase - with importing app.py The blueprint Web() will automatically created and a second call in test- cases must avoided * add unit tests * move code from app.py into server.py * test the init_logging_system() method * add HypercornLogHndl tests * fix deprecated pytest async warning - Cleanup pending async tasks - fix deprecated warning about event_loop * add unit test for error handling in build_config() * coverage: ignore quart template files * check print output in test_save_and_restore * update changelog
98 lines
2.0 KiB
INI
98 lines
2.0 KiB
INI
[loggers]
|
|
keys=root,tracer,mesg,conn,data,mqtt,asyncio,hypercorn_access,hypercorn_error
|
|
|
|
[handlers]
|
|
keys=console_handler,file_handler_name1,file_handler_name2,file_handler_name3,dashboard
|
|
|
|
[formatters]
|
|
keys=console_formatter,file_formatter
|
|
|
|
[logger_root]
|
|
level=DEBUG
|
|
handlers=console_handler,file_handler_name1,dashboard
|
|
|
|
[logger_conn]
|
|
level=DEBUG
|
|
handlers=console_handler,file_handler_name1
|
|
propagate=0
|
|
qualname=conn
|
|
|
|
[logger_mqtt]
|
|
level=INFO
|
|
handlers=console_handler,file_handler_name1,dashboard
|
|
propagate=0
|
|
qualname=mqtt
|
|
|
|
[logger_asyncio]
|
|
level=INFO
|
|
handlers=console_handler,file_handler_name1,dashboard
|
|
propagate=0
|
|
qualname=asyncio
|
|
|
|
[logger_data]
|
|
level=DEBUG
|
|
handlers=file_handler_name1
|
|
propagate=0
|
|
qualname=data
|
|
|
|
|
|
[logger_mesg]
|
|
level=DEBUG
|
|
handlers=file_handler_name2
|
|
propagate=0
|
|
qualname=msg
|
|
|
|
[logger_tracer]
|
|
level=INFO
|
|
handlers=file_handler_name2
|
|
propagate=0
|
|
qualname=tracer
|
|
|
|
[logger_hypercorn_access]
|
|
level=INFO
|
|
handlers=file_handler_name3
|
|
propagate=0
|
|
qualname=hypercorn.access
|
|
|
|
[logger_hypercorn_error]
|
|
level=INFO
|
|
handlers=file_handler_name1,dashboard
|
|
propagate=0
|
|
qualname=hypercorn.error
|
|
|
|
[handler_console_handler]
|
|
class=StreamHandler
|
|
level=DEBUG
|
|
formatter=console_formatter
|
|
|
|
[handler_file_handler_name1]
|
|
class=handlers.TimedRotatingFileHandler
|
|
level=INFO
|
|
formatter=file_formatter
|
|
args=(handlers.log_path + 'proxy.log', when:='midnight', backupCount:=handlers.log_backups)
|
|
|
|
[handler_file_handler_name2]
|
|
class=handlers.TimedRotatingFileHandler
|
|
level=NOTSET
|
|
formatter=file_formatter
|
|
args=(handlers.log_path + 'trace.log', when:='midnight', backupCount:=handlers.log_backups)
|
|
|
|
[handler_file_handler_name3]
|
|
class=handlers.TimedRotatingFileHandler
|
|
level=NOTSET
|
|
formatter=file_formatter
|
|
args=(handlers.log_path + 'access.log', when:='midnight', backupCount:=handlers.log_backups)
|
|
|
|
[handler_dashboard]
|
|
level=WARNING
|
|
class=web.log_handler.LogHandler
|
|
|
|
[formatter_console_formatter]
|
|
format=%(asctime)s %(levelname)5s | %(name)4s | %(message)s
|
|
datefmt=%Y-%m-%d %H:%M:%S
|
|
|
|
[formatter_file_formatter]
|
|
format=%(asctime)s %(levelname)5s | %(name)4s | %(message)s
|
|
datefmt=%Y-%m-%d %H:%M:%S
|
|
|