MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / write_log

Method write_log

script/task_script_extension.py:40–94  ·  view source on GitHub ↗

@name 写入日志 @author hwliang<2021-08-12> @param *args 要写入到日志文件的信息可以是多个,任意类型 @param _level 日志级别 @param color 日志颜色,可选值:red,green,yellow,blue,purple,cyan,white,gray,black,info,success,warning,warn,err,error,debug,trace,cri

(*args, _level='INFO', color="debug")

Source from the content-addressed store, hash-verified

38
39 @staticmethod
40 def write_log(*args, _level='INFO', color="debug"):
41 """
42 @name 写入日志
43 @author hwliang<2021-08-12>
44 @param *args <any> 要写入到日志文件的信息可以是多个,任意类型
45 @param _level<string> 日志级别
46 @param color<string> 日志颜色,可选值:red,green,yellow,blue,purple,cyan,white,gray,black,info,success,warning,warn,err,error,debug,trace,critical,fatal
47 @return void
48 """
49
50 color_dict = {
51 'red': '\033[31m',
52 'green': '\033[32m',
53 'yellow': '\033[33m',
54 'blue': '\033[34m',
55 'purple': '\033[35m',
56 'cyan': '\033[36m',
57 'white': '\033[37m',
58 'gray': '\033[90m',
59 'black': '\033[30m',
60 'info': '\033[0m',
61 'success': '\033[32m',
62 'warning': '\033[33m',
63 'warn': '\033[33m',
64 'err': '\033[31m',
65 'error': '\033[31m',
66 'debug': '\033[36m',
67 'trace': '\033[35m',
68 'critical': '\033[31m',
69 'fatal': '\033[31m'
70 }
71
72 _log = []
73 if color:
74 color_start = color_dict.get(color.strip().lower(), "")
75 if color_start:
76 _log.append(color_start)
77
78 _log.append("[{}][{}]".format(datetime.now().strftime("%Y-%m-%d %H:%M:%S"), _level.upper()))
79 for _info in args:
80 try:
81 if isinstance(_info, (list, tuple)):
82 _log.append(json.dumps(_info, ensure_ascii=False))
83 elif isinstance(_info, dict):
84 _log.append(json.dumps(_info, indent=4, ensure_ascii=False))
85 else:
86 _log.append(str(_info))
87 except:
88 _log.append(str(_info))
89 _log.append(" ")
90
91 if _log[0].startswith('\033'):
92 _log.append('\033[0m')
93
94 public.WriteFile(TASK_LOG_FILE, ''.join(_log) + '\n', mode='a+')
95
96 def check_node_status(self):
97 try:

Callers 8

check_node_statusMethod · 0.95
sess_expireMethod · 0.95
sess_expire_sqlMethod · 0.95
refresh_domain_cacheMethod · 0.95
update_software_listMethod · 0.95
get_cloud_list_statusMethod · 0.95
HttpPostMethod · 0.95
check_database_quotaMethod · 0.95

Calls 6

nowMethod · 0.80
getMethod · 0.45
appendMethod · 0.45
formatMethod · 0.45
dumpsMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected