Better logging

This commit is contained in:
Eden Kirin
2025-10-14 08:20:11 +02:00
parent 1955256d06
commit daa7e53d6d
3 changed files with 16 additions and 16 deletions

32
main.py
View File

@ -5,15 +5,13 @@ Entry point for running Pelican or Glory device simulators.
""" """
import argparse import argparse
import logging
import sys import sys
from glory import GlorySimulator from loguru import logger
# Import simulators # Import simulators
from pelican import PelicanSimulator from source.glory import GlorySimulator
from source.pelican import PelicanSimulator
LOG_LEVEL = logging.DEBUG
def main(): def main():
@ -69,24 +67,26 @@ Examples:
args = parser.parse_args() args = parser.parse_args()
# Setup centralized logger # Configure loguru logger
logging.basicConfig( logger.remove() # Remove default handler
level=LOG_LEVEL, logger.add(
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", sys.stderr,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<level>{message}</level> "
"<cyan>({name}</cyan>:<cyan>{function}</cyan>:<cyan>{line})</cyan>"
),
level="DEBUG",
) )
logger = logging.getLogger(f"{args.simulator}_simulator")
# Run the appropriate simulator # Run the appropriate simulator
try: try:
if args.simulator == "pelican": if args.simulator == "pelican":
simulator = PelicanSimulator( simulator = PelicanSimulator(port=args.port, baudrate=args.baudrate)
logger=logger, port=args.port, baudrate=args.baudrate
)
simulator.run() simulator.run()
elif args.simulator == "glory": elif args.simulator == "glory":
simulator = GlorySimulator( simulator = GlorySimulator(port=args.port, baudrate=args.baudrate)
logger=logger, port=args.port, baudrate=args.baudrate
)
simulator.run() simulator.run()
except KeyboardInterrupt: except KeyboardInterrupt:
logger.info("Simulator stopped by user") logger.info("Simulator stopped by user")