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.

Synopsis

Declared in <absl/base/log_severity.h>

enum class LogSeverity : int;

Description

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.

Members

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.

Non-Member Functions

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).

Created with MrDocs