mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef FLUTTER_FML_LOG_SETTINGS_H_
|
|
#define FLUTTER_FML_LOG_SETTINGS_H_
|
|
|
|
#include <string>
|
|
|
|
#include "flutter/fml/log_level.h"
|
|
|
|
namespace fml {
|
|
|
|
// Settings which control the behavior of FML logging.
|
|
struct LogSettings {
|
|
// The minimum logging level.
|
|
// Anything at or above this level will be logged (if applicable).
|
|
// Anything below this level will be silently ignored.
|
|
//
|
|
// The log level defaults to 0 (LOG_INFO).
|
|
//
|
|
// Log messages for FML_VLOG(x) (from flutter/fml/logging.h) are logged
|
|
// at level -x, so setting the min log level to negative values enables
|
|
// verbose logging.
|
|
LogSeverity min_log_level = LOG_INFO;
|
|
};
|
|
|
|
// Gets the active log settings for the current process.
|
|
void SetLogSettings(const LogSettings& settings);
|
|
|
|
// Sets the active log settings for the current process.
|
|
LogSettings GetLogSettings();
|
|
|
|
// Gets the minimum log level for the current process. Never returs a value
|
|
// higher than LOG_FATAL.
|
|
int GetMinLogLevel();
|
|
|
|
class ScopedSetLogSettings {
|
|
public:
|
|
explicit ScopedSetLogSettings(const LogSettings& settings);
|
|
~ScopedSetLogSettings();
|
|
|
|
private:
|
|
LogSettings old_settings_;
|
|
};
|
|
|
|
} // namespace fml
|
|
|
|
#endif // FLUTTER_FML_LOG_SETTINGS_H_
|