mirror of
https://github.com/gabime/spdlog.git
synced 2024-12-26 10:31:34 +08:00
common_types.h
This commit is contained in:
parent
3816517e54
commit
b396ff85a7
@ -58,7 +58,11 @@ int main(int argc, char* argv[])
|
|||||||
auto &logger2 = c11log::get_logger("logger2");
|
auto &logger2 = c11log::get_logger("logger2");
|
||||||
//logger2.add_sink(fsink2);
|
//logger2.add_sink(fsink2);
|
||||||
logger2.add_sink(std::make_shared<sinks::null_sink>());
|
logger2.add_sink(std::make_shared<sinks::null_sink>());
|
||||||
|
logger2.add_sink(std::make_shared<sinks::stdout_sink>());
|
||||||
|
|
||||||
|
info_logger info(&logger2);
|
||||||
|
info << "Hello info logger" << "!!";
|
||||||
|
return 0;
|
||||||
auto start = system_clock::now();
|
auto start = system_clock::now();
|
||||||
const unsigned int howmany = 10000000;
|
const unsigned int howmany = 10000000;
|
||||||
for(unsigned int i = 0; i < howmany ; i++)
|
for(unsigned int i = 0; i < howmany ; i++)
|
||||||
|
27
include/c11log/common_types.h
Normal file
27
include/c11log/common_types.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
|
namespace c11log {
|
||||||
|
|
||||||
|
typedef std::chrono::system_clock log_clock;
|
||||||
|
|
||||||
|
namespace level {
|
||||||
|
typedef enum {
|
||||||
|
DEBUG,
|
||||||
|
INFO,
|
||||||
|
WARNING,
|
||||||
|
ERROR,
|
||||||
|
FATAL,
|
||||||
|
NONE = 99
|
||||||
|
} level_enum;
|
||||||
|
const char* to_str(level_enum l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char* level_names[] { "Debug", "Info", "Warning", "Error", "Fatal" };
|
||||||
|
inline const char* c11log::level::to_str(c11log::level::level_enum l)
|
||||||
|
{
|
||||||
|
return level_names[l];
|
||||||
|
}
|
||||||
|
|
@ -69,8 +69,14 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
logger& get_logger(const std::string& name);
|
logger& get_logger(const std::string& name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Logger inline impl
|
// Logger inline impl
|
||||||
//
|
//
|
||||||
@ -163,3 +169,17 @@ inline c11log::logger& c11log::get_logger(const std::string& name)
|
|||||||
return *(c11log::details::factory::instance().get_logger(name));
|
return *(c11log::details::factory::instance().get_logger(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace c11log {
|
||||||
|
class info_logger {
|
||||||
|
public:
|
||||||
|
info_logger (c11log::logger* logger):_logger(logger) {}
|
||||||
|
template<class T>
|
||||||
|
details::line_logger& operator<<(const T& msg) {
|
||||||
|
return _logger->info() << msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
c11log::logger* _logger;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user