您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
49 行
1.6 KiB
49 行
1.6 KiB
import logging
|
|
logger = logging.getLogger("unityagents")
|
|
|
|
class UnityException(Exception):
|
|
"""
|
|
Any error related to ml-agents environment.
|
|
"""
|
|
pass
|
|
|
|
class UnityEnvironmentException(UnityException):
|
|
"""
|
|
Related to errors starting and closing environment.
|
|
"""
|
|
pass
|
|
|
|
|
|
class UnityActionException(UnityException):
|
|
"""
|
|
Related to errors with sending actions.
|
|
"""
|
|
pass
|
|
|
|
class UnityTimeOutException(UnityException):
|
|
"""
|
|
Related to errors with communication timeouts.
|
|
"""
|
|
def __init__(self, message, log_file_path = None):
|
|
if log_file_path is not None:
|
|
try:
|
|
with open(log_file_path, "r") as f:
|
|
printing = False
|
|
unity_error = '\n'
|
|
for l in f:
|
|
l=l.strip()
|
|
if (l == 'Exception') or (l=='Error'):
|
|
printing = True
|
|
unity_error += '----------------------\n'
|
|
if (l == ''):
|
|
printing = False
|
|
if printing:
|
|
unity_error += l + '\n'
|
|
logger.info(unity_error)
|
|
logger.error("An error might have occured in the environment. "
|
|
"You can check the logfile for more information at {}".format(log_file_path))
|
|
except:
|
|
logger.error("An error might have occured in the environment. "
|
|
"No unity-environment.log file could be found.")
|
|
super(UnityTimeOutException, self).__init__(message)
|
|
|