Four severity levels are defined. Logging APIs should terminate the program when a message is logged at severity kFatal; the other levels have no special semantics.
Declared in <absl/base/log_severity.h>
enum class LogSeverity : int;
Values other than the four defined levels (e.g. produced by static_cast) are valid, but their semantics when passed to a function, macro, or flag depend on the function, macro, or flag. The usual behavior is to normalize such values to a defined severity level, however in some cases values other than the defined levels are useful for comparison.
Example:
// Effectively disables all logging: SetMinLogLevel(static_cast<absl::LogSeverity>(100));
Abseil flags may be defined with type LogSeverity. Dependency layering constraints require that the AbslParseFlag() overload be declared and defined in the flags library itself rather than here. The AbslUnparseFlag() overload is defined there as well for consistency.
absl::LogSeverity Flag String Representation
An absl::LogSeverity has a string representation used for parsing command-line flags based on the enumerator name (e.g. kFatal) or its unprefixed name (without the k) in any case-insensitive form. (E.g. "FATAL", "fatal" or "Fatal" are all valid.) Unparsing such flags produces an unprefixed string representation in all caps (e.g. "FATAL") or an integer.
Additionally, the parser accepts arbitrary integers (as if the type were int).
Examples:
--my_log_level=kInfo --my_log_level=INFO --my_log_level=info --my_log_level=0
DFATAL and kLogDebugFatal are similarly accepted.
Unparsing a flag produces the same result as absl::LogSeverityName() for the standard levels and a base-ten integer otherwise.
| Name | Description |
|---|---|
kInfo | Informational message; no special semantics. |
kWarning | Warning message; no special semantics. |
kError | Error message; no special semantics. |
kFatal | Fatal message; logging APIs should terminate the program. |
| Name | Description |
|---|---|
AbslUnparseFlag | Unparses an absl::LogSeverity flag value. See base/log_severity.h for the full documentation. |
LogSeverities | Returns an iterable of all standard absl::LogSeverity values, ordered from least to most severe. |
LogSeverityName | Returns the all-caps string representation (e.g. "INFO") of the specified severity level if it is one of the standard levels and "UNKNOWN" otherwise. |
NormalizeLogSeverity | Overload that normalizes a raw integer as if it were an absl::LogSeverity. |
NormalizeLogSeverity | Values less than kInfo normalize to kInfo; values greater than kFatal normalize to kError (NOT kFatal). |
SetStderrThreshold | Updates the Stderr Threshold parameter. |
operator< | Compares an absl::LogSeverityAtLeast threshold against an absl::LogSeverity value (in either operand order). |
operator<= | Compares an absl::LogSeverityAtMost threshold against an absl::LogSeverity value (in either operand order). |
operator> | Compares an absl::LogSeverityAtMost threshold against an absl::LogSeverity value (in either operand order). |
operator>= | Compares an absl::LogSeverityAtLeast threshold against an absl::LogSeverity value (in either operand order). |