forked from ShuyaoJiang/WarpDiff
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon_utils.py
More file actions
65 lines (59 loc) · 2.02 KB
/
common_utils.py
File metadata and controls
65 lines (59 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import logging
from colorlog import ColoredFormatter
import time
import os
import csv
in_logger = None
def get_logger(log_file_suffix=''):
global in_logger
if in_logger is not None:
return in_logger
# 创建 logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建文件处理器,将日志记录到文件
os.makedirs('./log', exist_ok=True)
file_handler = logging.FileHandler('./log/pywasm_%s_%s.log'%(time.time(), log_file_suffix))
file_handler.setLevel(logging.DEBUG)
file_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(file_formatter)
# 创建控制台处理器,将日志输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 定义带颜色的日志格式
colored_formatter = ColoredFormatter(
"%(log_color)s%(asctime)s - %(levelname)s - %(message)s",
log_colors={
'DEBUG': 'cyan',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red,bg_white',
}
)
console_handler.setFormatter(colored_formatter)
# 添加处理器到 logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 记录不同级别的日志
logger.debug('这是调试信息')
logger.info('这是信息消息')
logger.warning('这是警告消息')
logger.error('这是错误消息')
logger.critical('这是严重错误消息')
in_logger = logger
return logger
def write_csv(data, file):
print('Write to ' + file)
if not os.path.exists(file):
with open(file, 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(data)
else:
with open(file, 'a+') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(data)
def write_txt(str,file):
print('Write to ' + file)
with open(file, 'w') as f:
f.write(str)