27 lines
899 B
Python
27 lines
899 B
Python
import logging
|
|
|
|
|
|
def setup_logging(log_file, level, include_host=False):
|
|
if include_host:
|
|
import socket
|
|
hostname = socket.gethostname()
|
|
formatter = logging.Formatter(
|
|
f'%(asctime)s | {hostname} | %(levelname)s | %(message)s', datefmt='%Y-%m-%d,%H:%M:%S')
|
|
else:
|
|
formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s', datefmt='%Y-%m-%d,%H:%M:%S')
|
|
|
|
logging.root.setLevel(level)
|
|
loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
|
|
for logger in loggers:
|
|
logger.setLevel(level)
|
|
|
|
stream_handler = logging.StreamHandler()
|
|
stream_handler.setFormatter(formatter)
|
|
logging.root.addHandler(stream_handler)
|
|
|
|
if log_file:
|
|
file_handler = logging.FileHandler(filename=log_file)
|
|
file_handler.setFormatter(formatter)
|
|
logging.root.addHandler(file_handler)
|
|
|