import argparse import logging import time import random import report logger = logging.getLogger("testlogs") # Definiere verschiedene Logger für unterschiedliche Module logger_main = logger.getChild("main_app") logger_db = logger.getChild("database.connector") logger_api = logger.getChild("api.v1") log_levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL] loggers = [logger_main, logger_db, logger_api] if __name__ == "__main__": # # Parse Arguments # parser = argparse.ArgumentParser(description='This is an application generating test logs.') parser.add_argument('-f', dest='hostname', default='localhost', help='Hostname of the log server') parser.add_argument('-p', dest='port', default=19996, type=int, help='Port of the log server') args = parser.parse_args() report.add_handler_stdout(logger, logging.DEBUG) report.add_handler_socket(logger, host=args.hostname, port=args.port) print("Sende Logs an den Server. Drücken Sie STRG+C zum Beenden.") try: while True: level = random.choice(log_levels) logger = random.choice(loggers) logger.log(level, f"Dies ist eine Testnachricht.") time.sleep(random.uniform(0.25, 0.75)) except KeyboardInterrupt: print("Senden der Logs beendet.")