35 lines
710 B
Python
35 lines
710 B
Python
import logging
|
|
import os
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
## Get log level and file from environment if possible
|
|
env_log_level = os.environ.get("LOG_LEVEL", "INFO").upper()
|
|
|
|
try:
|
|
env_log_file = Path(os.environ.get("LOG_FILE")).expanduser().resolve()
|
|
|
|
except TypeError:
|
|
env_log_file = None
|
|
|
|
|
|
## Make sure the level from the environment is valid
|
|
try:
|
|
log_level = getattr(logging, env_log_level)
|
|
|
|
except AttributeError:
|
|
log_level = logging.INFO
|
|
|
|
|
|
## Set logging config
|
|
handlers = [logging.StreamHandler()]
|
|
|
|
if env_log_file:
|
|
handlers.append(logging.FileHandler(env_log_file))
|
|
|
|
logging.basicConfig(
|
|
level=log_level,
|
|
format="[%(asctime)s] %(levelname)s: %(message)s",
|
|
handlers=handlers,
|
|
)
|