• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_FML_LOG_SETTINGS_H_
6 #define FLUTTER_FML_LOG_SETTINGS_H_
7 
8 #include "flutter/fml/log_level.h"
9 
10 #include <string>
11 
12 namespace fml {
13 
14 // Settings which control the behavior of FML logging.
15 struct LogSettings {
16   // The minimum logging level.
17   // Anything at or above this level will be logged (if applicable).
18   // Anything below this level will be silently ignored.
19   //
20   // The log level defaults to 0 (LOG_INFO).
21   //
22   // Log messages for FML_VLOG(x) (from flutter/fml/logging.h) are logged
23   // at level -x, so setting the min log level to negative values enables
24   // verbose logging.
25   LogSeverity min_log_level = LOG_INFO;
26 };
27 
28 // Gets the active log settings for the current process.
29 void SetLogSettings(const LogSettings& settings);
30 
31 // Sets the active log settings for the current process.
32 LogSettings GetLogSettings();
33 
34 // Gets the minimum log level for the current process. Never returs a value
35 // higher than LOG_FATAL.
36 int GetMinLogLevel();
37 
38 }  // namespace fml
39 
40 #endif  // FLUTTER_FML_LOG_SETTINGS_H_
41