Files
eos/eos/logconfig.py
Artur Glavic 3cd2d1a0a9
All checks were successful
Unit Testing / test (3.10) (pull_request) Successful in 47s
Unit Testing / test (3.11) (pull_request) Successful in 48s
Unit Testing / test (3.8) (pull_request) Successful in 48s
Unit Testing / test (3.12) (pull_request) Successful in 48s
Unit Testing / test (3.9) (pull_request) Successful in 47s
Pull Request Merged / autoupdate_minor (pull_request) Successful in 4s
Setup logfile only in eos when command-line parameter set
2026-03-10 14:34:17 +01:00

48 lines
1.5 KiB
Python

"""
Setup for the logging of eos.
"""
import sys
import logging
import logging.handlers
def setup_logging():
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# rename levels to make clear warning is can be a normal message
logging.addLevelName(logging.INFO, 'VERB')
logging.addLevelName(logging.WARNING, 'MESG')
# setting up a logger for console output
console = logging.StreamHandler(sys.__stdout__)
console.name = 'console'
formatter = logging.Formatter('# %(message)s')
console.setFormatter(formatter)
console.setLevel(logging.WARNING)
logger.addHandler(console)
def setup_logfile():
logfile = logging.handlers.RotatingFileHandler(
'amor_eos.log',
encoding='utf8',
mode='w',
maxBytes=200*1024**2,
backupCount=20,
)
formatter = logging.Formatter(
'[%(levelname).4s] - %(asctime)s - %(filename)s:%(lineno)i:%(funcName)s %(message)s',
'',
)
logfile.setFormatter(formatter)
logfile.setLevel(logging.DEBUG)
logger = logging.getLogger()
logger.addHandler(logfile)
def update_loglevel(verbose=0):
if verbose==1:
logging.getLogger().handlers[0].setLevel(logging.INFO)
if verbose>1:
console = logging.getLogger().handlers[0]
console.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(levelname).1s %(message)s')
console.setFormatter(formatter)