// // logger_fwd.hpp // logger // // Created by Sam Jaffe on 9/3/16. // #pragma once #include namespace logging { #define LIST_OF_LOGGING_LEVELS \ X(trace) X(debug) X(info) X(warning) X(error) X(critical) X(fatal) X(none) #define X(token) token, enum class level : int { LIST_OF_LOGGING_LEVELS warn = warning }; #undef X std::ostream & operator<<(std::ostream & os, level l); struct location_info { char const * filename = "???"; int line = 0; char const * function = ""; }; struct logpacket { struct timeval time; // int thread_id; level level; location_info info; std::string logger; std::string message; }; }