software catalog

Updated Sep 1, 2026

Logging: framework vs engine

← Docs index

Intel® Inference Microservices has two log-level knobs, both read once at startup: INFERENCE_LOG_LEVEL for the container's own startup and hardware-detection logs, and INFERENCE_LOG_LEVEL_ROOT for vLLM and other third-party libraries. Keeping them separate is the point — you can see what the runtime decided without vLLM's output burying it.

VariableDefaultWhat it controls
INFERENCE_LOG_LEVELINFOThis container: hardware detection, configuration selection, startup
INFERENCE_LOG_LEVEL_ROOTWARNINGThe engine and other libraries, after vLLM takes over

See what the runtime decided

Turn the framework up and leave the engine quiet:

bash
docker run -e INFERENCE_LOG_LEVEL=DEBUG -e INFERENCE_LOG_LEVEL_ROOT=ERROR ...

At DEBUG you get the detected hardware, which built-in configuration was selected and why, the resolved cache path, and the engine command that was generated. That is usually enough to explain an unexpected configuration without touching the engine's own logging at all.

What each level prints

LevelFramework (INFERENCE_LOG_LEVEL)Engine (INFERENCE_LOG_LEVEL_ROOT)
DEBUGHardware detection, which built-in config was pickedvLLM internals
INFOConfig applied, server startingvLLM startup
WARNINGOverrides and ignored valuesvLLM warnings
ERRORConfiguration errorsvLLM errors

Watch for WARNING in particular: an invalid INFERENCE_ENGINE_ARGS JSON string and an unrecognized INFERENCE_ACCELERATOR_MODEL are warnings, not failures. The container keeps serving with that setting ignored, so a silent surprise shows up here rather than as an error. Falling back to a general configuration is not a warning — it is the INFO line Selected profile: ... (type=general), which the default level already prints.

Where the logs go

To the container's stdout and stderr — docker logs <container> with Docker, kubectl logs deployment/<name> in a cluster. Nothing is written to a file inside the container, so your existing log collector picks it up without extra configuration. For probe failures and OOM kills, which never reach the application log, use kubectl describe pod <name>.