-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.py
26 lines (23 loc) · 816 Bytes
/
logger.py
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
import logging
import os
import sys
import os.path as osp
def setup_logger(name, save_dir, if_train):
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler(stream=sys.stdout)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s %(name)s %(levelname)s: %(message)s")
ch.setFormatter(formatter)
logger.addHandler(ch)
if save_dir:
if not osp.exists(save_dir):
os.makedirs(save_dir)
if if_train:
fh = logging.FileHandler(os.path.join(save_dir, "train_log.txt"), mode='w')
else:
fh = logging.FileHandler(os.path.join(save_dir, "test_log.txt"), mode='w')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger