@@ -524,6 +524,24 @@ def _copy_run_file(run_file, code_dir):
524524 else :
525525 raise NotImplementedError
526526
527+ def log_name_formatter (self , prefix , record_date ):
528+ """
529+ return a unified and unique name for the experiment log.
530+ :param prefix: prefix location to store the log data.
531+ :param record_date: the timestamp of the experiment log.
532+ :return: a unify and unique name
533+ """
534+ version_num = self .get_version_num ()
535+ if version_num is None :
536+ name_format = '{prefix}/{date}/{timestep} {ip} {info}'
537+ elif version_num == LOG_NAME_FORMAT_VERSION .V1 :
538+ name_format = '{prefix}/{date}/{timestep}_{ip}_{info}'
539+ else :
540+ raise RuntimeError ("unknown version name" , version_num )
541+ date = record_date .strftime ("%Y/%m/%d" )
542+ return name_format .format (prefix = prefix , date = date , timestep = self .record_date_to_str (record_date ),
543+ ip = str (self .ipaddr ), info = self .info )
544+
527545 def record_date_to_str (self , record_date ):
528546 return str (record_date .strftime ("%H-%M-%S-%f" ))
529547
@@ -534,29 +552,14 @@ def get_version_num(self):
534552 def __create_file_directory (self , prefix , ext = '' , is_file = True , record_date = None ):
535553 if record_date is None :
536554 record_date = self .record_date
555+ name = self .log_name_formatter (prefix , record_date )
537556 directory = str (record_date .strftime ("%Y/%m/%d" ))
538557 directory = osp .join (prefix , directory )
539- version_num = self .get_version_num ()
540-
541- if version_num is None :
542- name_format = '{dir}/{timestep} {ip} {info}{ext}'
543- elif version_num == LOG_NAME_FORMAT_VERSION .V1 :
544- name_format = '{dir}/{timestep}_{ip}_{info}{ext}'
545- else :
546- raise RuntimeError ("unknown version name" , version_num )
547-
548558 if is_file :
549559 os .makedirs (directory , exist_ok = True )
550- file_name = name_format .format (dir = directory , timestep = self .record_date_to_str (record_date ),
551- ip = str (self .ipaddr ),
552- info = self .info ,
553- ext = ext )
560+ file_name = name + ext
554561 else :
555- directory = (name_format + '/' ).format (dir = directory ,
556- timestep = self .record_date_to_str (record_date ),
557- ip = str (self .ipaddr ),
558- info = self .info ,
559- ext = ext )
562+ directory = name + '/'
560563 os .makedirs (directory , exist_ok = True )
561564 file_name = ''
562565 return directory , file_name
0 commit comments