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 |