mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-11-14 01:20:27 +00:00
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import logging
|
|
|
|
class logger(object):
|
|
def __init__(self, name, level, logfile):
|
|
self.name = name
|
|
self.level = level
|
|
self.logfile = logfile
|
|
|
|
def config(self):
|
|
# define logger and set logging level
|
|
logger = logging.getLogger()
|
|
|
|
if self.level == 'CRITICAL':
|
|
level = logging.CRITICAL
|
|
elif self.level == 'ERROR':
|
|
level = logging.ERROR
|
|
elif self.level == 'WARNING':
|
|
level = logging.WARNING
|
|
elif self.level == 'DEBUG':
|
|
level = logging.DEBUG
|
|
else:
|
|
level = logging.INFO
|
|
|
|
logger.setLevel(level)
|
|
|
|
# set request requests module log level
|
|
logging.getLogger("requests").setLevel(logging.CRITICAL)
|
|
|
|
if self.logfile:
|
|
# define handler to log into file
|
|
file_log_handler = logging.FileHandler(self.logfile)
|
|
logger.addHandler(file_log_handler)
|
|
|
|
# define logging format for file
|
|
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
file_log_handler.setFormatter(file_formatter)
|
|
|
|
# define handler to log into console
|
|
stderr_log_handler = logging.StreamHandler()
|
|
logger.addHandler(stderr_log_handler)
|
|
|
|
# define logging format for console
|
|
console_formatter = logging.Formatter('[%(levelname)s] %(message)s')
|
|
stderr_log_handler.setFormatter(console_formatter)
|
|
|
|
return logging.getLogger(self.name)
|