log dir adapts to makedirs(), fix CmdLine output
This commit is contained in:
@@ -59,6 +59,7 @@ class OutLogger(object):
|
|||||||
def __init__(self, logfile) -> None:
|
def __init__(self, logfile) -> None:
|
||||||
self.term = sys.stdout
|
self.term = sys.stdout
|
||||||
self.log = open(logfile,"w",encoding='utf-8',buffering=1)
|
self.log = open(logfile,"w",encoding='utf-8',buffering=1)
|
||||||
|
self.filepath = logfile
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
self.close()
|
self.close()
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
@@ -85,6 +86,7 @@ class ErrLogger(OutLogger):
|
|||||||
def __init__(self, logfile) -> None:
|
def __init__(self, logfile) -> None:
|
||||||
self.term = sys.stderr
|
self.term = sys.stderr
|
||||||
self.log = open(logfile,"w",encoding='utf-8',buffering=1)
|
self.log = open(logfile,"w",encoding='utf-8',buffering=1)
|
||||||
|
self.filepath = logfile
|
||||||
def close(self):
|
def close(self):
|
||||||
if self.term != None:
|
if self.term != None:
|
||||||
sys.stderr = self.term
|
sys.stderr = self.term
|
||||||
@@ -97,10 +99,15 @@ class ErrLogger(OutLogger):
|
|||||||
def dupe_stdout_to_logfile(logdir: str):
|
def dupe_stdout_to_logfile(logdir: str):
|
||||||
if not isinstance(logdir, str) or len(logdir) == 0:
|
if not isinstance(logdir, str) or len(logdir) == 0:
|
||||||
return
|
return
|
||||||
if not os.path.isdir(logdir):
|
if not os.path.exists(logdir):
|
||||||
os.makedirs(logdir)
|
try:
|
||||||
|
os.makedirs(logdir)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
if not os.path.isdir(logdir):
|
if not os.path.isdir(logdir):
|
||||||
return
|
return
|
||||||
|
elif not os.path.isdir(logdir):
|
||||||
|
return
|
||||||
|
|
||||||
log_tmstr = datetime.now().strftime("%Y%m%dT%H%M%S")
|
log_tmstr = datetime.now().strftime("%Y%m%dT%H%M%S")
|
||||||
logfile = os.path.join(logdir, f'avdc_{log_tmstr}.txt')
|
logfile = os.path.join(logdir, f'avdc_{log_tmstr}.txt')
|
||||||
@@ -113,8 +120,16 @@ def dupe_stdout_to_logfile(logdir: str):
|
|||||||
def close_logfile(logdir: str):
|
def close_logfile(logdir: str):
|
||||||
if not isinstance(logdir, str) or len(logdir) == 0 or not os.path.isdir(logdir):
|
if not isinstance(logdir, str) or len(logdir) == 0 or not os.path.isdir(logdir):
|
||||||
return
|
return
|
||||||
|
#日志关闭前保存日志文件路径
|
||||||
|
filepath = ''
|
||||||
|
try:
|
||||||
|
filepath = sys.stdout.filepath
|
||||||
|
except:
|
||||||
|
pass
|
||||||
sys.stdout.close()
|
sys.stdout.close()
|
||||||
sys.stderr.close()
|
sys.stderr.close()
|
||||||
|
if len(filepath):
|
||||||
|
print("Log file '{}' saved.".format(filepath))
|
||||||
# 清理空文件
|
# 清理空文件
|
||||||
for current_dir, subdirs, files in os.walk(logdir, topdown=False):
|
for current_dir, subdirs, files in os.walk(logdir, topdown=False):
|
||||||
try:
|
try:
|
||||||
@@ -304,7 +319,8 @@ if __name__ == '__main__':
|
|||||||
print('[+]Enable debug')
|
print('[+]Enable debug')
|
||||||
if conf.soft_link():
|
if conf.soft_link():
|
||||||
print('[!]Enable soft link')
|
print('[!]Enable soft link')
|
||||||
#print('[!]CmdLine:'," ".join(sys.argv[1:]))
|
if len(sys.argv)>1:
|
||||||
|
print('[!]CmdLine:'," ".join(sys.argv[1:]))
|
||||||
|
|
||||||
create_failed_folder(conf.failed_folder())
|
create_failed_folder(conf.failed_folder())
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
@@ -353,9 +369,10 @@ if __name__ == '__main__':
|
|||||||
" End at", time.strftime("%Y-%m-%d %H:%M:%S"))
|
" End at", time.strftime("%Y-%m-%d %H:%M:%S"))
|
||||||
|
|
||||||
print("[+]All finished!!!")
|
print("[+]All finished!!!")
|
||||||
if not (conf.auto_exit() or auto_exit):
|
|
||||||
input("Press enter key exit, you can check the error message before you exit...")
|
|
||||||
|
|
||||||
close_logfile(logdir)
|
close_logfile(logdir)
|
||||||
|
|
||||||
|
if not (conf.auto_exit() or auto_exit):
|
||||||
|
input("Press enter key exit, you can check the error message before you exit...")
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|||||||
Reference in New Issue
Block a user