|
|
|
# coding=utf-8
|
|
|
|
"""
|
|
|
|
@Author: fu-zhe
|
|
|
|
@FileName: ext_logging.py
|
|
|
|
@DateTime: 2024/5/16 14:27
|
|
|
|
@Description:
|
|
|
|
"""
|
|
|
|
import logging
|
|
|
|
import os
|
|
|
|
from mlogging import TimedRotatingFileHandler_MP
|
|
|
|
from appsUtils import env
|
|
|
|
|
|
|
|
#应用日志
|
|
|
|
APPFOLDERNAME = 'uebaMetricsAnalysis'
|
|
|
|
#定时任务
|
|
|
|
APP_CRON_FOLDERNAME = 'uebaMetricsAnalysis_cron'
|
|
|
|
#数据追踪 用于数据排查
|
|
|
|
APP_TRACE_FOLDERNAME = 'uebaMetricsAnalysis_trace'
|
|
|
|
#审计日志
|
|
|
|
APP_AUDIT_FOLDERNAME = 'uebaMetricsAnalysis_audit'
|
|
|
|
def get_clean_file_path():
|
|
|
|
fileroot = env.get_isop_root() + "/apps/" + APPFOLDERNAME + "/files"
|
|
|
|
if not os.path.exists(fileroot):
|
|
|
|
os.mkdir(fileroot)
|
|
|
|
return fileroot
|
|
|
|
|
|
|
|
def merge_large_file_path():
|
|
|
|
file_path = get_clean_file_path()+"/merge_files"
|
|
|
|
if not os.path.exists(file_path):
|
|
|
|
os.mkdir(file_path)
|
|
|
|
return file_path
|
|
|
|
|
|
|
|
def get_logger(logfile):
|
|
|
|
"""
|
|
|
|
获取日志句柄
|
|
|
|
"""
|
|
|
|
logger = logging.getLogger(logfile)
|
|
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
logroot = env.get_isop_root() + "/apps/" + APPFOLDERNAME + "/logs"
|
|
|
|
if not os.path.exists(logroot):
|
|
|
|
os.mkdir(logroot)
|
|
|
|
filehandle = TimedRotatingFileHandler_MP(os.path.normpath(logroot + "/" + \
|
|
|
|
logfile + ".log"), 'midnight')
|
|
|
|
filehandle.suffix = "%Y-%m-%d"
|
|
|
|
filehandle.setLevel(logging.DEBUG)
|
|
|
|
consolehandle = logging.StreamHandler()
|
|
|
|
consolehandle.setLevel(logging.DEBUG)
|
|
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
|
|
filehandle.setFormatter(formatter)
|
|
|
|
consolehandle.setFormatter(formatter)
|
|
|
|
logger.addHandler(filehandle)
|
|
|
|
return logger
|
|
|
|
|
|
|
|
|
|
|
|
logger = get_logger(APPFOLDERNAME)
|
|
|
|
logger_cron = get_logger(APP_CRON_FOLDERNAME)
|
|
|
|
logger_trace = get_logger(APP_TRACE_FOLDERNAME)
|
|
|
|
logger_audit = get_logger(APP_AUDIT_FOLDERNAME)
|