OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/environment/default_logger_impl.h" | 5 #include "mojo/environment/default_logger.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "mojo/public/c/environment/logger.h" |
9 | 10 |
10 namespace mojo { | 11 namespace mojo { |
11 namespace internal { | 12 namespace internal { |
12 namespace { | 13 namespace { |
13 | 14 |
14 // We rely on log levels being the same numerically: | 15 // We rely on log levels being the same numerically: |
15 COMPILE_ASSERT(logging::LOG_VERBOSE == MOJO_LOG_LEVEL_VERBOSE, | 16 COMPILE_ASSERT(logging::LOG_VERBOSE == MOJO_LOG_LEVEL_VERBOSE, |
16 verbose_log_level_value_mismatch); | 17 verbose_log_level_value_mismatch); |
17 COMPILE_ASSERT(logging::LOG_INFO == MOJO_LOG_LEVEL_INFO, | 18 COMPILE_ASSERT(logging::LOG_INFO == MOJO_LOG_LEVEL_INFO, |
18 info_log_level_value_mismatch); | 19 info_log_level_value_mismatch); |
(...skipping 18 matching lines...) Expand all Loading... |
37 const char* source_file, | 38 const char* source_file, |
38 uint32_t source_line, | 39 uint32_t source_line, |
39 const char* message) { | 40 const char* message) { |
40 int chromium_log_level = MojoToChromiumLogLevel(log_level); | 41 int chromium_log_level = MojoToChromiumLogLevel(log_level); |
41 int chromium_min_log_level = logging::GetMinLogLevel(); | 42 int chromium_min_log_level = logging::GetMinLogLevel(); |
42 // "Fatal" errors aren't suppressable. | 43 // "Fatal" errors aren't suppressable. |
43 DCHECK_LE(chromium_min_log_level, logging::LOG_FATAL); | 44 DCHECK_LE(chromium_min_log_level, logging::LOG_FATAL); |
44 if (chromium_log_level < chromium_min_log_level) | 45 if (chromium_log_level < chromium_min_log_level) |
45 return; | 46 return; |
46 | 47 |
47 logging::LogMessage(source_file, source_line, chromium_log_level).stream() | 48 if (source_file) { |
48 << message; | 49 logging::LogMessage(source_file, static_cast<int>(source_line), |
| 50 chromium_log_level).stream() |
| 51 << message; |
| 52 } else { |
| 53 logging::LogMessage("(no file)", 0, chromium_log_level).stream() << message; |
| 54 } |
49 } | 55 } |
50 | 56 |
51 MojoLogLevel GetMinimumLogLevel() { | 57 MojoLogLevel GetMinimumLogLevel() { |
52 return ChromiumToMojoLogLevel(logging::GetMinLogLevel()); | 58 return ChromiumToMojoLogLevel(logging::GetMinLogLevel()); |
53 } | 59 } |
54 | 60 |
55 void SetMinimumLogLevel(MojoLogLevel log_level) { | 61 void SetMinimumLogLevel(MojoLogLevel log_level) { |
56 logging::SetMinLogLevel(MojoToChromiumLogLevel(log_level)); | 62 logging::SetMinLogLevel(MojoToChromiumLogLevel(log_level)); |
57 } | 63 } |
58 | 64 |
59 const MojoLogger kDefaultLogger = { | |
60 LogMessage, | |
61 GetMinimumLogLevel, | |
62 SetMinimumLogLevel | |
63 }; | |
64 | |
65 } // namespace | 65 } // namespace |
66 | 66 |
67 const MojoLogger* GetDefaultLoggerImpl() { | 67 const MojoLogger kDefaultLogger = {LogMessage, |
68 return &kDefaultLogger; | 68 GetMinimumLogLevel, |
69 } | 69 SetMinimumLogLevel}; |
70 | 70 |
71 } // namespace internal | 71 } // namespace internal |
72 } // namespace mojo | 72 } // namespace mojo |
OLD | NEW |