From 5d7f74a94714027edc918f975767944535145f43 Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Thu, 10 Jun 2021 16:13:18 -0700 Subject: [PATCH 1/7] Change log level to WARN --- .../etc/log4j.properties | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sagemaker_pytorch_serving_container/etc/log4j.properties b/src/sagemaker_pytorch_serving_container/etc/log4j.properties index eabaf6fa..eb9957f2 100644 --- a/src/sagemaker_pytorch_serving_container/etc/log4j.properties +++ b/src/sagemaker_pytorch_serving_container/etc/log4j.properties @@ -1,4 +1,4 @@ -log4j.rootLogger = INFO, console +log4j.rootLogger = WARN, console log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out @@ -40,11 +40,11 @@ log4j.appender.model_metrics.MaxBackupIndex = 5 log4j.appender.model_metrics.layout = org.apache.log4j.PatternLayout log4j.appender.model_metrics.layout.ConversionPattern = %d{ISO8601} - %m%n -log4j.logger.com.amazonaws.ml.ts = INFO, ts_log -log4j.logger.ACCESS_LOG = INFO, access_log -log4j.logger.TS_METRICS = INFO, ts_metrics -log4j.logger.MODEL_METRICS = INFO, model_metrics -log4j.logger.MODEL_LOG = INFO, model_log +log4j.logger.com.amazonaws.ml.ts = WARN, ts_log +log4j.logger.ACCESS_LOG = WARN, access_log +log4j.logger.TS_METRICS = WARN, ts_metrics +log4j.logger.MODEL_METRICS = WARN, model_metrics +log4j.logger.MODEL_LOG = WARN, model_log log4j.logger.org.apache = OFF log4j.logger.io.netty = ERROR From 7405b4a73caac62600df32a28ccf1c49cfa743a9 Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Fri, 11 Jun 2021 09:56:40 -0700 Subject: [PATCH 2/7] Make the log4j.properties file configurable --- .../etc/log4j.properties | 12 ++++++------ .../torchserve.py | 8 +++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/sagemaker_pytorch_serving_container/etc/log4j.properties b/src/sagemaker_pytorch_serving_container/etc/log4j.properties index eb9957f2..eabaf6fa 100644 --- a/src/sagemaker_pytorch_serving_container/etc/log4j.properties +++ b/src/sagemaker_pytorch_serving_container/etc/log4j.properties @@ -1,4 +1,4 @@ -log4j.rootLogger = WARN, console +log4j.rootLogger = INFO, console log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out @@ -40,11 +40,11 @@ log4j.appender.model_metrics.MaxBackupIndex = 5 log4j.appender.model_metrics.layout = org.apache.log4j.PatternLayout log4j.appender.model_metrics.layout.ConversionPattern = %d{ISO8601} - %m%n -log4j.logger.com.amazonaws.ml.ts = WARN, ts_log -log4j.logger.ACCESS_LOG = WARN, access_log -log4j.logger.TS_METRICS = WARN, ts_metrics -log4j.logger.MODEL_METRICS = WARN, model_metrics -log4j.logger.MODEL_LOG = WARN, model_log +log4j.logger.com.amazonaws.ml.ts = INFO, ts_log +log4j.logger.ACCESS_LOG = INFO, access_log +log4j.logger.TS_METRICS = INFO, ts_metrics +log4j.logger.MODEL_METRICS = INFO, model_metrics +log4j.logger.MODEL_LOG = INFO, model_log log4j.logger.org.apache = OFF log4j.logger.io.netty = ERROR diff --git a/src/sagemaker_pytorch_serving_container/torchserve.py b/src/sagemaker_pytorch_serving_container/torchserve.py index d90e0000..0f0406ce 100644 --- a/src/sagemaker_pytorch_serving_container/torchserve.py +++ b/src/sagemaker_pytorch_serving_container/torchserve.py @@ -50,6 +50,7 @@ PYTHON_PATH_ENV = "PYTHONPATH" REQUIREMENTS_PATH = os.path.join(code_dir, "requirements.txt") +LOG4J_OVERRIDE_PATH = os.path.join(code_dir, "log4j.properties") TS_NAMESPACE = "org.pytorch.serve.ModelServer" @@ -81,6 +82,11 @@ def start_torchserve(handler_service=DEFAULT_HANDLER_SERVICE): if os.path.exists(REQUIREMENTS_PATH): _install_requirements() + if os.path.exists(LOG4J_OVERRIDE_PATH): + log4j_path = LOG4J_OVERRIDE_PATH + else: + log4j_path = DEFAULT_TS_LOG_FILE + ts_torchserve_cmd = [ "torchserve", "--start", @@ -89,7 +95,7 @@ def start_torchserve(handler_service=DEFAULT_HANDLER_SERVICE): "--ts-config", TS_CONFIG_FILE, "--log-config", - DEFAULT_TS_LOG_FILE, + log4j_path, "--models", "model.mar" ] From 8aaa0bd1e094d5c4d1f62927b88157b10bd016da Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Fri, 11 Jun 2021 10:02:26 -0700 Subject: [PATCH 3/7] Testing --- src/sagemaker_pytorch_serving_container/torchserve.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sagemaker_pytorch_serving_container/torchserve.py b/src/sagemaker_pytorch_serving_container/torchserve.py index 0f0406ce..110af9a6 100644 --- a/src/sagemaker_pytorch_serving_container/torchserve.py +++ b/src/sagemaker_pytorch_serving_container/torchserve.py @@ -82,10 +82,13 @@ def start_torchserve(handler_service=DEFAULT_HANDLER_SERVICE): if os.path.exists(REQUIREMENTS_PATH): _install_requirements() + print(f"Checking {LOG4J_OVERRIDE_PATH}") if os.path.exists(LOG4J_OVERRIDE_PATH): log4j_path = LOG4J_OVERRIDE_PATH + print("Exists!") else: log4j_path = DEFAULT_TS_LOG_FILE + print("Doesn't exist :-(") ts_torchserve_cmd = [ "torchserve", From e3dc648e8b27e9d3fe3b991c7ff1f4b4d833276b Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Fri, 11 Jun 2021 11:53:21 -0700 Subject: [PATCH 4/7] Remove debug statements --- src/sagemaker_pytorch_serving_container/torchserve.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/sagemaker_pytorch_serving_container/torchserve.py b/src/sagemaker_pytorch_serving_container/torchserve.py index 110af9a6..0f0406ce 100644 --- a/src/sagemaker_pytorch_serving_container/torchserve.py +++ b/src/sagemaker_pytorch_serving_container/torchserve.py @@ -82,13 +82,10 @@ def start_torchserve(handler_service=DEFAULT_HANDLER_SERVICE): if os.path.exists(REQUIREMENTS_PATH): _install_requirements() - print(f"Checking {LOG4J_OVERRIDE_PATH}") if os.path.exists(LOG4J_OVERRIDE_PATH): log4j_path = LOG4J_OVERRIDE_PATH - print("Exists!") else: log4j_path = DEFAULT_TS_LOG_FILE - print("Doesn't exist :-(") ts_torchserve_cmd = [ "torchserve", From e4219de4622792071e693ab5648021e24c87d6f6 Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Fri, 11 Jun 2021 13:11:12 -0700 Subject: [PATCH 5/7] Fix unit tests --- test/unit/test_model_server.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/unit/test_model_server.py b/test/unit/test_model_server.py index aeaec28e..702ff0a4 100644 --- a/test/unit/test_model_server.py +++ b/test/unit/test_model_server.py @@ -21,7 +21,9 @@ from sagemaker_inference import environment from sagemaker_pytorch_serving_container import torchserve -from sagemaker_pytorch_serving_container.torchserve import TS_NAMESPACE, REQUIREMENTS_PATH +from sagemaker_pytorch_serving_container.torchserve import ( + TS_NAMESPACE, REQUIREMENTS_PATH, LOG4J_OVERRIDE_PATH +) PYTHON_PATH = "python_path" DEFAULT_CONFIGURATION = "default_configuration" @@ -49,7 +51,8 @@ def test_start_torchserve_default_service_handler( adapt.assert_called_once_with(torchserve.DEFAULT_HANDLER_SERVICE) create_config.assert_called_once_with() - exists.assert_called_once_with(REQUIREMENTS_PATH) + exists.assert_any_call(REQUIREMENTS_PATH) + exists.assert_any_call(LOG4J_OVERRIDE_PATH) install_requirements.assert_called_once_with() ts_model_server_cmd = [ @@ -91,7 +94,8 @@ def test_start_torchserve_default_service_handler_multi_model( torchserve.start_torchserve() torchserve.ENABLE_MULTI_MODEL = False create_config.assert_called_once_with() - exists.assert_called_once_with(REQUIREMENTS_PATH) + exists.assert_any_call(REQUIREMENTS_PATH) + exists.assert_any_call(LOG4J_OVERRIDE_PATH) install_requirements.assert_called_once_with() ts_model_server_cmd = [ From bec065065faf37d48256f108be07e7b92194e6c8 Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Fri, 11 Jun 2021 13:47:43 -0700 Subject: [PATCH 6/7] Fix unit tests --- test/unit/test_model_server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unit/test_model_server.py b/test/unit/test_model_server.py index 702ff0a4..10598af8 100644 --- a/test/unit/test_model_server.py +++ b/test/unit/test_model_server.py @@ -34,7 +34,7 @@ @patch("sagemaker_pytorch_serving_container.torchserve._retrieve_ts_server_process") @patch("sagemaker_pytorch_serving_container.torchserve._add_sigterm_handler") @patch("sagemaker_pytorch_serving_container.torchserve._install_requirements") -@patch("os.path.exists", return_value=True) +@patch("os.path.exists", side_effect=[True, False]) @patch("sagemaker_pytorch_serving_container.torchserve._create_torchserve_config_file") @patch("sagemaker_pytorch_serving_container.torchserve._adapt_to_ts_format") def test_start_torchserve_default_service_handler( @@ -77,7 +77,7 @@ def test_start_torchserve_default_service_handler( @patch("sagemaker_pytorch_serving_container.torchserve._retrieve_ts_server_process") @patch("sagemaker_pytorch_serving_container.torchserve._add_sigterm_handler") @patch("sagemaker_pytorch_serving_container.torchserve._install_requirements") -@patch("os.path.exists", return_value=True) +@patch("os.path.exists", side_effect=[True, False]) @patch("sagemaker_pytorch_serving_container.torchserve._create_torchserve_config_file") @patch("sagemaker_pytorch_serving_container.torchserve._adapt_to_ts_format") def test_start_torchserve_default_service_handler_multi_model( From d82464fe98bf6e1ce39626f49b663302c0b56628 Mon Sep 17 00:00:00 2001 From: Steven Anton Date: Tue, 25 Jul 2023 11:11:42 -0700 Subject: [PATCH 7/7] Update src/sagemaker_pytorch_serving_container/torchserve.py Co-authored-by: Aaqib --- src/sagemaker_pytorch_serving_container/torchserve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sagemaker_pytorch_serving_container/torchserve.py b/src/sagemaker_pytorch_serving_container/torchserve.py index 0f0406ce..c9b01ee8 100644 --- a/src/sagemaker_pytorch_serving_container/torchserve.py +++ b/src/sagemaker_pytorch_serving_container/torchserve.py @@ -50,7 +50,7 @@ PYTHON_PATH_ENV = "PYTHONPATH" REQUIREMENTS_PATH = os.path.join(code_dir, "requirements.txt") -LOG4J_OVERRIDE_PATH = os.path.join(code_dir, "log4j.properties") +LOG4J_OVERRIDE_PATH = os.path.join(code_dir, "log4j.xml") TS_NAMESPACE = "org.pytorch.serve.ModelServer"