ores.logging

Table of Contents

Diagram

ores.logging component diagram

Figure 1: ores.logging

Summary

ores.logging is the core logging library for all ORE Studio components. It wraps Boost.Log with a make_logger() factory, OpenTelemetry-compatible severity levels, and a lifecycle_manager virtual base for console and file sink configuration. It was extracted from ores.telemetry specifically to break the circular dependency that arose when ores.database needed logging but ores.telemetry depended on ores.database. All services and libraries depend on ores.logging; ores.telemetry extends it with OTLP export and trace correlation.

Inputs

  • Logging options from command-line or configuration (sink type, log level, file path).

Outputs

  • Named boost::log logger instances for use across components.
  • Log records emitted to console and/or file sinks.

Entry points

  • include/ores.logging/make_logger.hpp — logger factory.
  • include/ores.logging/severity_level.hpp — severity level enum.
  • include/ores.logging/lifecycle_manager.hpp — sink lifecycle base class.
  • include/ores.logging/logging_options.hpp — parsed logging configuration.

Dependencies

  • Boost.Log — logging back-end.

See also

Emacs 29.1 (Org mode 9.6.6)