mirror of
https://github.com/clearml/clearml
synced 2025-03-03 02:32:11 +00:00
Add TRAINS_LOG_ENVIRONMENT for OS environment logging
This commit is contained in:
parent
c997f6a95a
commit
c9221e3fbb
36
trains/binding/environ_bind.py
Normal file
36
trains/binding/environ_bind.py
Normal file
@ -0,0 +1,36 @@
|
||||
import os
|
||||
|
||||
from ..config import TASK_LOG_ENVIRONMENT, running_remotely
|
||||
|
||||
|
||||
class EnvironmentBind(object):
|
||||
_task = None
|
||||
|
||||
@classmethod
|
||||
def update_current_task(cls, current_task):
|
||||
cls._task = current_task
|
||||
# noinspection PyBroadException
|
||||
try:
|
||||
cls._bind_environment()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def _bind_environment(cls):
|
||||
if not cls._task:
|
||||
return
|
||||
environ_log = str(TASK_LOG_ENVIRONMENT.get() or '').strip()
|
||||
if not environ_log:
|
||||
return
|
||||
|
||||
if environ_log == '*':
|
||||
env_param = {k: os.environ.get(k) for k in os.environ
|
||||
if not k.startswith('TRAINS_') and not k.startswith('ALG_')}
|
||||
else:
|
||||
environ_log = [e.strip() for e in environ_log.split(',')]
|
||||
env_param = {k: os.environ.get(k) for k in os.environ if k in environ_log}
|
||||
|
||||
env_param = cls._task.connect(env_param)
|
||||
if running_remotely():
|
||||
# put back into os:
|
||||
os.environ.update(env_param)
|
@ -15,6 +15,7 @@ PROC_MASTER_ID_ENV_VAR = EnvEntry("TRAINS_PROC_MASTER_ID", "ALG_PROC_MASTER_ID",
|
||||
LOG_STDERR_REDIRECT_LEVEL = EnvEntry("TRAINS_LOG_STDERR_REDIRECT_LEVEL", "ALG_LOG_STDERR_REDIRECT_LEVEL")
|
||||
DEV_WORKER_NAME = EnvEntry("TRAINS_WORKER_NAME", "ALG_WORKER_NAME")
|
||||
DEV_TASK_NO_REUSE = EnvEntry("TRAINS_TASK_NO_REUSE", "ALG_TASK_NO_REUSE", type=bool)
|
||||
TASK_LOG_ENVIRONMENT = EnvEntry("TRAINS_LOG_ENVIRONMENT", "ALG_LOG_ENVIRONMENT", type=str)
|
||||
|
||||
LOG_LEVEL_ENV_VAR = EnvEntry("TRAINS_LOG_LEVEL", "ALG_LOG_LEVEL", converter=or_(int, str))
|
||||
|
||||
@ -26,7 +27,3 @@ VCS_BRANCH = EnvEntry("TRAINS_VCS_BRANCH", "ALG_VCS_BRANCH")
|
||||
VCS_ROOT = EnvEntry("TRAINS_VCS_ROOT", "ALG_VCS_ROOT")
|
||||
VCS_STATUS = EnvEntry("TRAINS_VCS_STATUS", "ALG_VCS_STATUS", converter=base64_to_text)
|
||||
VCS_DIFF = EnvEntry("TRAINS_VCS_DIFF", "ALG_VCS_DIFF", converter=base64_to_text)
|
||||
|
||||
# User credentials
|
||||
API_ACCESS_KEY = EnvEntry("TRAINS_API_ACCESS_KEY", "ALG_API_ACCESS_KEY", help="API Access Key")
|
||||
API_SECRET_KEY = EnvEntry("TRAINS_API_SECRET_KEY", "ALG_API_SECRET_KEY", help="API Secret Key")
|
||||
|
Loading…
Reference in New Issue
Block a user