Skip to content

Version 1.0.0

Choose a tag to compare

@StormBytePP StormBytePP released this 04 Sep 23:02
· 54 commits to master since this release

[Summary]

StormByte Logger is the stream-logging module of the StormByte C++ suite.

It depends on StormByte Base. This repository is not Base, Buffer, Config, Crypto, Database, Multimedia, Network or System.

Public headers under StormByte/logger/ cover Log, ThreadedLog, header formats (%L %T %i), human-readable numbers and bytes, and redaction of text and numbers.

If you landed here from a release link and have not read the tree:

  • What this module is, how to build it, and short examples: README.md
  • License: GNU Lesser General Public License version 3 or later, LICENSE

Initial public release of StormByte Logger.

Added

  • Log streaming facade with operator<<
  • Level filter: LowLevel, Debug, Warning, Notice, Info, Error, Fatal
  • Header format: %L, %T, %i, %%
  • Manipulators: humanreadable_number, humanreadable_bytes, nohumanreadable
  • Redaction: redact / redact(N) keep last N; redact_first(N) keep first N; no_redact; applies to text and numbers
  • ThreadedLog: one lock per logical line; filtered messages do not take the lock
  • Uses StormByte Base (String, ThreadLock, platform)
  • Unit tests (filter, threads, redaction)
  • Project version read from the VERSION file
  • CMake 3.28 floor

Notes

  • Log is not thread-safe. Use ThreadedLog when several threads share one logger.
  • Messages below the print level return early.
  • Needs a C++26 compiler and StormByte Base ≥ 1.0.0.