def create_logger(): # pragma: no cover
"""
Create the logger for Alignak-App
"""
root_logger = getLogger()
stdout_handler = None
if root_logger.handlers:
stdout_handler = root_logger.handlers[0]
# Define path and file for "file_handler"
path = get_app_workdir()
filename = '%s.log' % get_app_config('Log', 'filename')
if not os.path.isdir(path):
# noinspection PyBroadException
try: # pragma: no cover - not testable
os.makedirs(path)
except Exception:
print('Can\'t create log file in [%s], App will log in current directory !' % path)
path = '.'
if not os.access(path, os.W_OK):
print('Access denied for [%s], App will log in current directory !' % path)
path = '.'
formatter = Formatter('[%(asctime)s]> %(name)-12s : [%(levelname)s] %(message)s')
# Create "file_handler"
file_handler = TimedRotatingFileHandler(
filename=os.path.join(path, filename),
when="D",
interval=1,
backupCount=6
)
file_handler.setLevel(DEBUG)
file_handler.setFormatter(formatter)
root_logger.addHandler(file_handler)
# Remove stdout handler to ensure logs are only in filehandler
root_logger.removeHandler(stdout_handler)
return root_logger
评论列表
文章目录