BDE 3.79.0: Production Release

Schedule

  • The BDE team announces that the BDE 3.79.0 production release was completed on Monday, April 19, 2021.

BDE 3.79.0 Highlights

New Component: ball::RecordJsonFormatter

To improve the machine readability of log files (including log management systems like Humio and Splunk) the BALL package has added a new component, ball::RecordJsonFormatter, that provides for rendering log records in the JSON format. The new ball::RecordJsonFormatter class is a function object class designed to work as a log formatter for concrete ball::Observer implementation ball::FileObserver2 (see ball::FileObserver2::setLogFileFunctor).

The rendering of each record by a ball::RecordJsonFormatter is configured by a format specification string provided to the ball::RecordJsonFormatter. This format specification is itself a JSON string, for example ["timestamp", "pid", "tid", "category", "severity", "file", "line", "message", "attributes"], and can be set using the ball::RecordJsonFormatter::setFormat method.

Note

ball::RecorJsonFormatter renders individual log records as JSON, but, for example, a resulting log file would contain a sequence of JSON strings, which is not itself valid JSON text.

Fixed requests: 3.79.0

Summary

Add Structured Logging to BDE

Remove windows.h header from bsls_outputredirector.h

dpkg/bsl-internal fails to build with gcc-9 and requires updates.

API to get the path for the system temporary directory

bsl_type_traits.h include from chronoutil breaks csw in robo

bdxwlm docs are malformatted

Prototype marking bdet entities deprecated

Release BDE 3.79.0