Skip to content

New logger and remove code bloat#443

Open
rwmcguir wants to merge 16 commits intooneapi-src:masterfrom
rwmcguir:new_logger
Open

New logger and remove code bloat#443
rwmcguir wants to merge 16 commits intooneapi-src:masterfrom
rwmcguir:new_logger

Conversation

@rwmcguir
Copy link
Copy Markdown
Contributor

This removes all dependencies on external code for logging purposes.
Removes all static globals resulting in gnu unique symbols

Retains external interface behaivor

rwmcguir added 13 commits April 16, 2026 14:58
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
+ Also update missing ZE_RESULT codes from older logger

Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Fix logger debug outout showing which actual files are loaded
after path resolution. Without this not useful for debugging
misconfigured systems.

Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
+ Change from a pull to a push model, to push the logger instance
  from the loader to the validation layer to remove duplication.
+ Remove resource consumption when no logger is used

Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR replaces the loader’s spdlog-based logging with a built-in logger implementation, removes the vendored spdlog headers and build wiring, and updates loader/layer integration to share a single logger instance.

Changes:

  • Remove vendored spdlog headers (and related CMake configuration) to eliminate external logging dependencies.
  • Introduce ZeLogger (source/utils/ze_logger.*) and migrate loader + validation layer to use it (including logger sharing between loader and validation layer).
  • Update documentation and version metadata to reflect the new logging behavior/configuration.

Reviewed changes

Copilot reviewed 64 out of 66 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
third_party/spdlog_headers/spdlog/version.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/tweakme.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/spdlog.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/spdlog-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/wincolor_sink.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/wincolor_sink-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/sink.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/sink-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/basic_file_sink.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/basic_file_sink-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/base_sink.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/base_sink-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/ansicolor_sink.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/sinks/ansicolor_sink-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/pattern_formatter.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/pattern_formatter-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/mdc.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/logger.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/logger-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/formatter.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/fmt/fmt.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/windows_include.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/synchronous_factory.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/registry.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/registry-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/periodic_worker.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/periodic_worker-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/os.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/os-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/null_mutex.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/log_msg_buffer.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/log_msg_buffer-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/log_msg.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/log_msg-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/fmt_helper.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/file_helper.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/file_helper-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/console_globals.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/circular_q.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/backtracer.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/details/backtracer-inl.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/common.h Remove vendored spdlog header
third_party/spdlog_headers/spdlog/common-inl.h Remove vendored spdlog header
third_party/spdlog_headers/README.md Remove spdlog vendoring note
third_party/spdlog_headers/LICENSE Remove spdlog license file (dependency removed)
third_party/spdlog_headers/.version Remove spdlog version pin file
source/utils/ze_logger.h Add new logger public interface
source/utils/ze_logger.cpp Add new logger implementation + env-driven factory
source/utils/logging.h Remove old spdlog-based Logger wrapper
source/utils/logging.cpp Remove old spdlog-based to_string implementation file
source/utils/CMakeLists.txt Build utils with ZeLogger sources (remove spdlog wiring)
source/loader/ze_loader_internal.h Switch loader context to ZeLogger
source/loader/ze_loader_api.h Add exported accessor for shared logger
source/loader/ze_loader_api.cpp Implement exported accessor for shared logger
source/loader/ze_loader.cpp Use new createLogger, improve debug trace path reporting, update version logging
source/lib/ze_lib.h Switch includes to ZeLogger (add missing STL include)
source/lib/ze_lib.cpp Improve debug trace message when loader path not set
source/layers/validation/ze_validation_layer.h Switch validation layer to ZeLogger
source/layers/validation/ze_validation_layer.cpp Add loader-provided logger injection API + no-op sentinel logger
scripts/templates/ze_loader_internal.h.mako Remove spdlog include from template (but still references logging.h)
README.md Update user documentation for new built-in logging behavior
PRODUCT_GUID.txt Bump product version/GUID
CMakeLists.txt Remove global spdlog discovery/include configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/utils/ze_logger.cpp Outdated
Comment thread source/utils/ze_logger.cpp
Comment thread source/utils/ze_logger.cpp Outdated
Comment thread source/utils/ze_logger.cpp Outdated
Comment thread scripts/templates/ze_loader_internal.h.mako Outdated
Comment thread source/loader/ze_loader_api.h Outdated
Comment thread source/loader/ze_loader_api.cpp Outdated
+ Removed references in mako files to old logger
+ Removed some dead code
+ Fixed recursive log directory creation corner case

Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
@Jemale
Copy link
Copy Markdown
Contributor

Jemale commented Apr 21, 2026

Took a look at the removed code and some of the additions, looks good. Will continue reviewing tomorrow probably

Signed-off-by: Russell McGuire <russell.w.mcguire@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants