All notable changes will be documented in this file.
- Support
log_verbosity
command-line flag as lower priority alternative to theROQ_v
environment variable
- Hide (singleton) instance variable from
logging::Handler
public interface.
- Support custom log handler
- Use
Settings
(#356)
- The
--color
flag now has "auto" as default value (#318)
- Use
std::string
(thread-local storage) for buffering
- Authentication now includes kernel name + release (#260)
- Flag to control terminal color output (#245)
- Use color output when attached to terminal
- Services will log
$HOST
anduname -v
(#217) log::<...>::when
was a mistake / reverting
- Rename headers to .hpp (#195)
- Conda packaging should pin versions to match x.x.x (#189)
- Always log packaging and build information (#159)
- Conditional logging (experimental)
- Upgrade to C++20 (#158)
- Re-introduce Abseil Flags path, but exclude build prefix
- Remove custom literals (#110)
- The
--log_flush_freq
(duration) has replaced--log_flush_every_secs
(int)
- The
format_str
class has been moved from the roq-api library - Flags to allow logging to file (with automatic rotation)
- Automatic capture of
source_location
is now managed by theformat_str
class - All loggers, except for critical and fatal, now accept a template argument for the log level
- The
trace_n
loggers
log::critical
to only abort if debug build (log::fatal
is too strict in some cases)
log::debug
will now prefix all messages with 'DEBUG:' to make it easier to manage and remove log statements as they become "stale"
-
Dropped requirement for calling
Logger::initialize(...)
- Default is now to use
std::cout
andstd::cerr
- Default is now to use
-
Service
andTool
will now catch and log exceptions at top-level main wrapper
- Replaced macro-based interface with a pure C++ based interface
- Use string literals
- Enforce use of
roq::format_str
or the_fmt
literal - Now depends on
roq-api
- Now using
absl::flags
(instead of gflags)
-
Application has been replaced with Service and Tool
- Service logging includes process information, start, stop, timestamp, thread id, etc.
- Tool logging is minimal
- Application will now log process information on startup
- Automake support
- CMake is now the default build system for all Roq solutions
- Interface and implementation moved out of
roq-api