Skip to content

Commit a8a587d

Browse files
bogdanmariusc10Bogdan-Marius-Catanus
andauthored
fix: respect PLUGINS_LOG_LEVEL environment variable in all runtime.py files (#48)
* fix: respect PLUGINS_LOG_LEVEL environment variable in all runtime.py files - Updated grpc/server/runtime.py to check PLUGINS_LOG_LEVEL env var before command-line arg - Updated mcp/server/runtime.py to add logging configuration with PLUGINS_LOG_LEVEL support - Updated unix/server/runtime.py to respect PLUGINS_LOG_LEVEL instead of hardcoded INFO level - All implementations now log to stderr and follow consistent pattern * refactor: use get_settings().log_level instead of hardcoded env var Address PR review feedback to use the settings infrastructure instead of directly accessing environment variables. This approach: - Keeps the env var name defined in one place (PluginsSettings model) - Gets .env file support for free - Stays consistent with how other settings are read in the codebase Changes: - grpc/server/runtime.py: Use get_settings().log_level with fallback to args - mcp/server/runtime.py: Use get_settings().log_level - unix/server/runtime.py: Use get_settings().log_level --------- Co-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>
1 parent 380abad commit a8a587d

3 files changed

Lines changed: 23 additions & 5 deletions

File tree

cpex/framework/external/grpc/server/runtime.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,14 @@ def main() -> None:
289289

290290
args = parser.parse_args()
291291

292-
# Configure logging
292+
# Configure logging - respect PLUGINS_LOG_LEVEL environment variable
293+
settings = get_settings()
294+
log_level_str = settings.log_level or args.log_level
295+
log_level = getattr(logging, log_level_str.upper(), logging.INFO)
293296
logging.basicConfig(
294-
level=getattr(logging, args.log_level),
297+
level=log_level,
295298
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
299+
stream=sys.stderr,
296300
)
297301

298302
# Run the server

cpex/framework/external/mcp/server/runtime.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,18 @@
7979
MCP_SERVER_INSTRUCTIONS,
8080
MCP_SERVER_NAME,
8181
)
82-
from cpex.framework.settings import get_transport_settings
82+
83+
# Configure logging - respect PLUGINS_LOG_LEVEL environment variable
84+
from cpex.framework.settings import get_settings, get_transport_settings
85+
86+
settings = get_settings()
87+
log_level_str = settings.log_level
88+
log_level = getattr(logging, log_level_str.upper(), logging.INFO)
89+
logging.basicConfig(
90+
level=log_level,
91+
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
92+
stream=sys.stderr,
93+
)
8394

8495
logger = logging.getLogger(__name__)
8596

cpex/framework/external/unix/server/runtime.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,12 @@
3333
from cpex.framework.external.unix.server.server import run_server
3434
from cpex.framework.settings import get_settings
3535

36-
# Configure logging
36+
# Configure logging - respect PLUGINS_LOG_LEVEL environment variable
37+
settings = get_settings()
38+
log_level_str = settings.log_level
39+
log_level = getattr(logging, log_level_str.upper(), logging.INFO)
3740
logging.basicConfig(
38-
level=logging.INFO,
41+
level=log_level,
3942
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
4043
stream=sys.stderr, # Log to stderr to keep stdout clean for coordination
4144
)

0 commit comments

Comments
 (0)