Coverage Report

Created: 2023-01-25 06:41

/src/PcapPlusPlus/Common++/src/Logger.cpp
Line
Count
Source (jump to first uncovered line)
1
#include <sstream>
2
#include "Logger.h"
3
4
namespace pcpp
5
{
6
7
Logger::Logger() : m_LogsEnabled(true), m_LogPrinter(&defaultLogPrinter)
8
1
{
9
1
  m_LastError.reserve(200);
10
56
  for (int i = 0; i<NumOfLogModules; i++)
11
55
    m_LogModulesArray[i] = Info;
12
1
}
13
14
std::string Logger::logLevelAsString(LogLevel logLevel)
15
9.84k
{
16
9.84k
  switch (logLevel)
17
9.84k
  {
18
9.84k
  case Logger::Error:
19
9.84k
    return "ERROR";
20
0
  case Logger::Info:
21
0
    return "INFO";
22
0
  default:
23
0
    return "DEBUG";
24
9.84k
  }
25
9.84k
}
26
27
void Logger::defaultLogPrinter(LogLevel logLevel, const std::string& logMessage, const std::string& file, const std::string& method, const int line)
28
9.84k
{
29
9.84k
  std::ostringstream sstream;
30
9.84k
  sstream << file << ": " << method << ":" << line;
31
9.84k
  std::cout << std::left
32
9.84k
    << "["
33
9.84k
    << std::setw(5) << Logger::logLevelAsString(logLevel) << ": "
34
9.84k
    << std::setw(45) << sstream.str()
35
9.84k
    << "] "
36
9.84k
    << logMessage << std::endl;
37
9.84k
}
38
39
std::ostringstream * Logger::internalCreateLogStream()
40
9.84k
{
41
9.84k
  return new std::ostringstream ();
42
9.84k
}
43
44
void Logger::internalPrintLogMessage(std::ostringstream* logStream, Logger::LogLevel logLevel, const char* file, const char* method, int line)
45
9.84k
{
46
9.84k
  std::string logMessage = logStream->str();
47
9.84k
  delete logStream;
48
9.84k
  if (logLevel == Logger::Error)
49
9.84k
  {
50
9.84k
    m_LastError = logMessage;
51
9.84k
  }
52
9.84k
  if (m_LogsEnabled)
53
9.84k
  {
54
9.84k
    m_LogPrinter(logLevel, logMessage, file, method, line);
55
9.84k
  }
56
9.84k
}
57
58
} // namespace pcpp