// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.diagnostics;

/// The severity of a given record.
// Note that these severities correspond to and must match the values defined in
// fuchsia.logger.LogLevelFilter.
type Severity = strict enum : uint8 {
    /// Trace records include detailed information about program execution.
    TRACE = 0x10;
    /// Debug records include development-facing information about program execution.
    DEBUG = 0x20;
    /// Info records include general information about program execution. (default)
    INFO = 0x30;
    /// Warning records include information about potentially problematic operations.
    WARN = 0x40;
    /// Error records include information about failed operations.
    ERROR = 0x50;
    /// Fatal records convey information about operations which cause a program's termination.
    FATAL = 0x60;
};
