41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
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.")
|