Lv100版本源码上传
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import logging
|
||||
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
from typing import Callable
|
||||
from functools import wraps
|
||||
|
||||
###########################################################
|
||||
# logging #
|
||||
###########################################################
|
||||
logFormatter = logging.Formatter(
|
||||
"%(asctime)s %(levelname)-5.5s [%(name)s] %(funcName)s:%(lineno)d: %(message)s"
|
||||
)
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.DEBUG)
|
||||
logger.name = "DNFCalculating"
|
||||
|
||||
log_directory = "logs"
|
||||
try:
|
||||
pathlib.Path(log_directory).mkdir(parents=True, exist_ok=True)
|
||||
except PermissionError as err:
|
||||
print("创建日志目录logs失败,请确认是否限制了基础的运行权限")
|
||||
sys.exit(-1)
|
||||
|
||||
|
||||
def try_except(show_exception_info=True,
|
||||
show_last_process_result=True,
|
||||
extra_msg="",
|
||||
return_val_on_except=None) -> Callable:
|
||||
def decorator(fun):
|
||||
@wraps(fun)
|
||||
def wrapper(*args, **kwargs):
|
||||
try:
|
||||
return fun(*args, **kwargs)
|
||||
except Exception as e:
|
||||
msg = f"执行{fun.__name__}({args}, {kwargs})出错了"
|
||||
if extra_msg != "":
|
||||
msg += ", " + extra_msg
|
||||
# msg += check_some_exception(e, show_last_process_result)
|
||||
|
||||
logFunc = logger.error
|
||||
if not show_exception_info:
|
||||
logFunc = logger.debug
|
||||
logFunc(msg, exc_info=e)
|
||||
|
||||
return return_val_on_except
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
Reference in New Issue
Block a user