From be265321821b7272a724f1837c38b88236942776 Mon Sep 17 00:00:00 2001 From: mehrdadn Date: Sun, 3 Jul 2016 22:58:49 +0300 Subject: [PATCH] Better code for getting log directory (#198) * get_log_file_path instead of LOG_DIRECTORY * Tabs -> spaces Whoops * Log file extension --- lib/python/ray/config.py | 8 ++++++-- lib/python/ray/services.py | 8 +++----- lib/python/ray/worker.py | 9 ++++----- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/python/ray/config.py b/lib/python/ray/config.py index e0b1e3fe9..6453e0a32 100644 --- a/lib/python/ray/config.py +++ b/lib/python/ray/config.py @@ -1,5 +1,9 @@ +import datetime import os.path import sys import tempfile -LOG_DIRECTORY = os.path.join("/tmp" if sys.platform.startswith("darwin") else tempfile.gettempdir(), "raylogs") -LOG_TIMESTAMP = "{:%Y-%m-%d=%H:%M:%S}" + +def get_log_file_path(name): + return os.path.join( + os.path.join("/tmp" if sys.platform.startswith("darwin") else tempfile.gettempdir(), "raylogs"), + ("{:%Y-%m-%d-%H-%M-%S}-{}").format(datetime.datetime.now(), name.replace(":", "-"))) diff --git a/lib/python/ray/services.py b/lib/python/ray/services.py index de2254297..31a83547a 100644 --- a/lib/python/ray/services.py +++ b/lib/python/ray/services.py @@ -6,7 +6,7 @@ import datetime import ray import worker -from ray.config import LOG_DIRECTORY, LOG_TIMESTAMP +import ray.config as config _services_env = os.environ.copy() _services_env["PATH"] = os.pathsep.join([os.path.dirname(os.path.abspath(__file__)), _services_env["PATH"]]) @@ -69,13 +69,11 @@ def cleanup(): # atexit.register(cleanup) def start_scheduler(scheduler_address): - scheduler_log_filename = os.path.join(LOG_DIRECTORY, (LOG_TIMESTAMP + "-scheduler.log").format(datetime.datetime.now())) - p = subprocess.Popen(["scheduler", scheduler_address, "--log-file-name", scheduler_log_filename], env=_services_env) + p = subprocess.Popen(["scheduler", scheduler_address, "--log-file-name", config.get_log_file_path("scheduler.log")], env=_services_env) all_processes.append((p, scheduler_address)) def start_objstore(scheduler_address, objstore_address): - objstore_log_filename = os.path.join(LOG_DIRECTORY, (LOG_TIMESTAMP + "-objstore-{}.log").format(datetime.datetime.now(), objstore_address)) - p = subprocess.Popen(["objstore", scheduler_address, objstore_address, "--log-file-name", objstore_log_filename], env=_services_env) + p = subprocess.Popen(["objstore", scheduler_address, objstore_address, "--log-file-name", config.get_log_file_path("-".join(["objstore", objstore_address]) + ".log")], env=_services_env) all_processes.append((p, objstore_address)) def start_worker(worker_path, scheduler_address, objstore_address, worker_address): diff --git a/lib/python/ray/worker.py b/lib/python/ray/worker.py index 9a1722070..e5f19537a 100644 --- a/lib/python/ray/worker.py +++ b/lib/python/ray/worker.py @@ -10,7 +10,7 @@ import colorama import copy import ray -from ray.config import LOG_DIRECTORY, LOG_TIMESTAMP +import ray.config as config import serialization import ray.internal.graph_pb2 import ray.graph @@ -167,7 +167,7 @@ def visualize_computation_graph(file_path=None, view=False, worker=global_worker """ if file_path is None: - file_path = os.path.join(ray.config.LOG_DIRECTORY, (ray.config.LOG_TIMESTAMP + "-computation-graph.pdf").format(datetime.datetime.now())) + file_path = config.get_log_file_path("computation-graph.pdf") base_path, extension = os.path.splitext(file_path) if extension != ".pdf": @@ -206,9 +206,8 @@ def connect(scheduler_address, objstore_address, worker_address, is_driver=False worker.handle = ray.lib.create_worker(worker.scheduler_address, worker.objstore_address, worker.worker_address, is_driver) worker.set_mode(mode) FORMAT = "%(asctime)-15s %(message)s" - log_basename = os.path.join(LOG_DIRECTORY, (LOG_TIMESTAMP + "-worker-{}").format(datetime.datetime.now(), worker_address)) - logging.basicConfig(level=logging.DEBUG, format=FORMAT, filename=log_basename + ".log") - ray.lib.set_log_config(log_basename + "-c++.log") + logging.basicConfig(level=logging.DEBUG, format=FORMAT, filename=config.get_log_file_path("-".join(["worker", worker_address]) + ".log")) + ray.lib.set_log_config(config.get_log_file_path("-".join(["worker", worker_address, "c++"]) + ".log")) def disconnect(worker=global_worker): ray.lib.disconnect(worker.handle)