We are pleased to announce, at long last, the initial availability of the Abseil Logging library. This library provides facilities for writing short text messages about the status of a program to stderr, disk files, or other sinks (via an extension API).
The core interface is the LOG macro, which has a streaming interface like std::ostream's:
The library also supports terminating the process via a severity level named FATAL:
The CHECK macro family provides assert()-like precondition checking and process termination in all compilation modes with better error messages:
If you are familiar with the Google Logging (glog) library, these examples will look very familiar; that project and this one share a common ancestor. The core macro APIs are essentially unchanged, however other interfaces like the extension points have changed quite a bit. While those changes aim to improve interfaces, performance, extensibility, etc., the main reason to choose Abseil Logging over glog is for its compatibility and integration with Abseil and with Google's internal code now and in the future.