OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "mojo/public/cpp/environment/logging.h" |
| 6 |
| 7 #include "mojo/public/cpp/environment/environment.h" |
| 8 |
| 9 namespace mojo { |
| 10 namespace internal { |
| 11 |
| 12 namespace { |
| 13 |
| 14 // Gets a pointer to the filename portion of |s|. Assumes that the filename |
| 15 // follows the last slash or backslash in |s|, or is |s| if no slash or |
| 16 // backslash is present. |
| 17 // |
| 18 // E.g., a pointer to "foo.cc" is returned for the following inputs: "foo.cc", |
| 19 // "./foo.cc", ".\foo.cc", "/absolute/path/to/foo.cc", |
| 20 // "relative/path/to/foo.cc", "C:\absolute\path\to\foo.cc", etc. |
| 21 const char* GetFilename(const char* s) { |
| 22 const char* rv = s; |
| 23 while (*s) { |
| 24 if (*s == '/' || *s == '\\') |
| 25 rv = s + 1; |
| 26 s++; |
| 27 } |
| 28 return rv; |
| 29 } |
| 30 |
| 31 } // namespace |
| 32 |
| 33 LogMessage::LogMessage(const char* file, int line, MojoLogLevel log_level) |
| 34 : log_level_(log_level) { |
| 35 // Note: Don't include the log level in the message, since that's passed on. |
| 36 stream_ << GetFilename(file) << '(' << line << "): "; |
| 37 } |
| 38 |
| 39 LogMessage::~LogMessage() { |
| 40 Environment::GetDefaultLogger()->LogMessage(log_level_, |
| 41 stream_.str().c_str()); |
| 42 } |
| 43 |
| 44 } // namespace internal |
| 45 } // namespace mojo |
OLD | NEW |