22 lines
551 B
Python
22 lines
551 B
Python
import logging
|
|
import os
|
|
import sys
|
|
|
|
def setup_logging(name: str = "collector") -> logging.Logger:
|
|
"""
|
|
Sets up a structured logger.
|
|
"""
|
|
logger = logging.getLogger(name)
|
|
level = os.getenv("LOG_LEVEL", "INFO").upper()
|
|
logger.setLevel(level)
|
|
|
|
if not logger.handlers:
|
|
handler = logging.StreamHandler(sys.stdout)
|
|
formatter = logging.Formatter(
|
|
'%(asctime)s [%(levelname)s] %(name)s: %(message)s'
|
|
)
|
|
handler.setFormatter(formatter)
|
|
logger.addHandler(handler)
|
|
|
|
return logger
|