Add levels for ALERT, EMERGENCY to be syslog compatible Add direct wrappers for all, but they are not yet fully usable because the stack fix is not yet implemented Add a new debug helepr to get the stack as a string
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.logger.log(LoggingLevel.EXCEPTION.value, '[QUEUE] Exception test: %s', log_q.logger.name, exc_info=True)
|
|
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__
|