Add flush for queue flushing Add set/get level for handler Allow adding handlers during launch, handlers cannot be added afterwards at the moment Add testing for LoggingLevel enum
67 lines
2.1 KiB
Python
67 lines
2.1 KiB
Python
"""
|
|
Log logging_handling.log testing
|
|
"""
|
|
|
|
# import atexit
|
|
from pathlib import Path
|
|
from multiprocessing import Queue
|
|
import time
|
|
# this is for testing only
|
|
from corelibs.logging_handling.log import Log
|
|
from corelibs.logging_handling.logging_level_handling.logging_level import LoggingLevel
|
|
|
|
|
|
def main():
|
|
"""
|
|
Log testing
|
|
"""
|
|
script_path: Path = Path(__file__).resolve().parent
|
|
|
|
log_queue: 'Queue[str]' = Queue()
|
|
log_q = Log(
|
|
log_path=script_path.joinpath('log', 'test_queue.log'),
|
|
log_name="Test Log",
|
|
log_settings={
|
|
"log_level_console": 'WARNING',
|
|
"log_level_file": 'ERROR',
|
|
"log_queue": log_queue
|
|
# "console_color_output_enabled": False,
|
|
}
|
|
)
|
|
|
|
log_q.logger.debug('[QUEUE] Debug test: %s', log_q.logger.name)
|
|
log_q.logger.info('[QUEUE] Info test: %s', log_q.logger.name)
|
|
log_q.logger.warning('[QUEUE] Warning test: %s', log_q.logger.name)
|
|
log_q.logger.error('[QUEUE] Error test: %s', log_q.logger.name)
|
|
log_q.logger.critical('[QUEUE] Critical test: %s', log_q.logger.name)
|
|
log_q.exception('[QUEUE] Exception test: %s', log_q.logger.name)
|
|
time.sleep(0.1)
|
|
|
|
for handler in log_q.logger.handlers:
|
|
print(f"[1] Handler (logger) {handler}")
|
|
if log_q.listener is not None:
|
|
for handler in log_q.listener.handlers:
|
|
print(f"[1] Handler (queue) {handler}")
|
|
for handler in log_q.handlers.items():
|
|
print(f"[1] Handler (handlers) {handler}")
|
|
|
|
log_q.set_log_level('stream_handler', LoggingLevel.ERROR)
|
|
log_q.logger.warning('[QUEUE-B] [INVISIBLE] Warning test: %s', log_q.logger.name)
|
|
log_q.logger.error('[QUEUE-B] [VISIBLE] Error test: %s', log_q.logger.name)
|
|
|
|
for handler in log_q.logger.handlers:
|
|
print(f"[2] Handler (logger) {handler}")
|
|
if log_q.listener is not None:
|
|
for handler in log_q.listener.handlers:
|
|
print(f"[2] Handler (queue) {handler}")
|
|
for handler in log_q.handlers.items():
|
|
print(f"[2] Handler (handlers) {handler}")
|
|
|
|
log_q.stop_listener()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|
|
# __END__
|