1 #include "logger.hpp"
2
3 #include <sstream>
4
5 namespace vpd
6 {
7 std::shared_ptr<Logger> Logger::m_loggerInstance;
8
logMessage(std::string_view i_message,const PlaceHolder & i_placeHolder,const types::PelInfoTuple * i_pelTuple,const std::source_location & i_location)9 void Logger::logMessage(std::string_view i_message,
10 const PlaceHolder& i_placeHolder,
11 const types::PelInfoTuple* i_pelTuple,
12 const std::source_location& i_location)
13 {
14 std::ostringstream l_log;
15 l_log << "FileName: " << i_location.file_name() << ","
16 << " Line: " << i_location.line() << " " << i_message;
17
18 if (i_placeHolder == PlaceHolder::COLLECTION)
19 {
20 // Log it to a specific place.
21 m_logFileHandler->writeLogToFile(i_placeHolder);
22 }
23 else if (i_placeHolder == PlaceHolder::PEL)
24 {
25 if (i_pelTuple)
26 {
27 // LOG PEL
28 // This should call create PEL API from the event logger.
29 return;
30 }
31 std::cout << "Pel info tuple required to log PEL for message <" +
32 l_log.str() + ">"
33 << std::endl;
34 }
35 else
36 {
37 // Default case, let it go to journal.
38 std::cout << l_log.str() << std::endl;
39 }
40 }
41
42 namespace logging
43 {
logMessage(std::string_view message,const std::source_location & location)44 void logMessage(std::string_view message, const std::source_location& location)
45 {
46 std::ostringstream log;
47 log << "FileName: " << location.file_name() << ","
48 << " Line: " << location.line() << " " << message;
49
50 std::cout << log.str() << std::endl;
51 }
52 } // namespace logging
53 } // namespace vpd
54