LCOV - code coverage report
Current view: top level - media/webrtc/trunk/webrtc/system_wrappers/source - logging.cc (source / functions) Hit Total Coverage
Test: output.info Lines: 0 24 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 5 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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           0 : TraceLevel WebRtcSeverity(LoggingSeverity sev) {
      24           0 :   switch (sev) {
      25             :     // TODO(ajm): SENSITIVE doesn't have a corresponding webrtc level.
      26           0 :     case LS_SENSITIVE:  return kTraceInfo;
      27           0 :     case LS_VERBOSE:    return kTraceInfo;
      28           0 :     case LS_INFO:       return kTraceTerseInfo;
      29           0 :     case LS_WARNING:    return kTraceWarning;
      30           0 :     case LS_ERROR:      return kTraceError;
      31           0 :     default:            return kTraceNone;
      32             :   }
      33             : }
      34             : 
      35             : // Return the filename portion of the string (that following the last slash).
      36           0 : const char* FilenameFromPath(const char* file) {
      37           0 :   const char* end1 = ::strrchr(file, '/');
      38           0 :   const char* end2 = ::strrchr(file, '\\');
      39           0 :   if (!end1 && !end2)
      40           0 :     return file;
      41             :   else
      42           0 :     return (end1 > end2) ? end1 + 1 : end2 + 1;
      43             : }
      44             : 
      45             : }  // namespace
      46             : 
      47           0 : LogMessage::LogMessage(const char* file, int line, LoggingSeverity sev)
      48           0 :     : severity_(sev) {
      49           0 :   print_stream_ << "(" << FilenameFromPath(file) << ":" << line << "): ";
      50           0 : }
      51             : 
      52           0 : bool LogMessage::Loggable(LoggingSeverity sev) {
      53             :   // |level_filter| is a bitmask, unlike libjingle's minimum severity value.
      54           0 :   return WebRtcSeverity(sev) & Trace::level_filter() ? true : false;
      55             : }
      56             : 
      57           0 : LogMessage::~LogMessage() {
      58           0 :   const std::string& str = print_stream_.str();
      59           0 :   Trace::Add(WebRtcSeverity(severity_), kTraceUndefined, 0, "%s", str.c_str());
      60           0 : }
      61             : 
      62             : }  // namespace webrtc

Generated by: LCOV version 1.13