| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license | |
| 5 * that can be found in the LICENSE file in the root of the source | |
| 6 * tree. An additional intellectual property rights grant can be found | |
| 7 * in the file PATENTS. All contributing project authors may | |
| 8 * be found in the AUTHORS file in the root of the source tree. | |
| 9 */ | |
| 10 | |
| 11 #include "webrtc/system_wrappers/include/logging.h" | |
| 12 | |
| 13 #include <string.h> | |
| 14 | |
| 15 #include <sstream> | |
| 16 | |
| 17 #include "webrtc/common_types.h" | |
| 18 #include "webrtc/system_wrappers/include/trace.h" | |
| 19 | |
| 20 namespace webrtc { | |
| 21 namespace { | |
| 22 | |
| 23 TraceLevel WebRtcSeverity(LoggingSeverity sev) { | |
| 24 switch (sev) { | |
| 25 // TODO(ajm): SENSITIVE doesn't have a corresponding webrtc level. | |
| 26 case LS_SENSITIVE: return kTraceInfo; | |
| 27 case LS_VERBOSE: return kTraceInfo; | |
| 28 case LS_INFO: return kTraceTerseInfo; | |
| 29 case LS_WARNING: return kTraceWarning; | |
| 30 case LS_ERROR: return kTraceError; | |
| 31 default: return kTraceNone; | |
| 32 } | |
| 33 } | |
| 34 | |
| 35 // Return the filename portion of the string (that following the last slash). | |
| 36 const char* FilenameFromPath(const char* file) { | |
| 37 const char* end1 = ::strrchr(file, '/'); | |
| 38 const char* end2 = ::strrchr(file, '\\'); | |
| 39 if (!end1 && !end2) | |
| 40 return file; | |
| 41 else | |
| 42 return (end1 > end2) ? end1 + 1 : end2 + 1; | |
| 43 } | |
| 44 | |
| 45 } // namespace | |
| 46 | |
| 47 LogMessage::LogMessage(const char* file, int line, LoggingSeverity sev) | |
| 48 : severity_(sev) { | |
| 49 print_stream_ << "(" << FilenameFromPath(file) << ":" << line << "): "; | |
| 50 } | |
| 51 | |
| 52 bool LogMessage::Loggable(LoggingSeverity sev) { | |
| 53 // |level_filter| is a bitmask, unlike libjingle's minimum severity value. | |
| 54 return WebRtcSeverity(sev) & Trace::level_filter() ? true : false; | |
| 55 } | |
| 56 | |
| 57 LogMessage::~LogMessage() { | |
| 58 const std::string& str = print_stream_.str(); | |
| 59 Trace::Add(WebRtcSeverity(severity_), kTraceUndefined, 0, "%s", str.c_str()); | |
| 60 } | |
| 61 | |
| 62 } // namespace webrtc | |
| OLD | NEW |