mirror of
https://github.com/gabime/spdlog.git
synced 2025-05-02 13:03:52 +00:00
astyle
This commit is contained in:
parent
9230d9e63d
commit
495ecaeaee
@ -11,21 +11,21 @@ int g_fd;
|
||||
|
||||
static void output_callback(zf_log_message *msg)
|
||||
{
|
||||
*msg->p = '\n';
|
||||
write(g_fd, msg->buf, msg->p - msg->buf + 1);
|
||||
*msg->p = '\n';
|
||||
write(g_fd, msg->buf, msg->p - msg->buf + 1);
|
||||
}
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
g_fd = open(g_path, O_APPEND|O_CREAT|O_WRONLY);
|
||||
if (0 > g_fd)
|
||||
{
|
||||
ZF_LOGE_AUX(ZF_LOG_STDERR, "Failed to open log file: %s", g_path);
|
||||
return -1;
|
||||
}
|
||||
zf_log_set_output_callback(ZF_LOG_PUT_STD, output_callback);
|
||||
g_fd = open(g_path, O_APPEND|O_CREAT|O_WRONLY);
|
||||
if (0 > g_fd)
|
||||
{
|
||||
ZF_LOGE_AUX(ZF_LOG_STDERR, "Failed to open log file: %s", g_path);
|
||||
return -1;
|
||||
}
|
||||
zf_log_set_output_callback(ZF_LOG_PUT_STD, output_callback);
|
||||
|
||||
int thread_count = 10;
|
||||
if(argc > 1)
|
||||
@ -42,7 +42,7 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
int counter = ++msg_counter;
|
||||
if (counter > howmany) break;
|
||||
ZF_LOGI("zf_log message #%i: This is some text for your pleasure", counter);
|
||||
ZF_LOGI("zf_log message #%i: This is some text for your pleasure", counter);
|
||||
}
|
||||
}));
|
||||
}
|
||||
@ -51,6 +51,6 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
t.join();
|
||||
};
|
||||
close(g_fd);
|
||||
close(g_fd);
|
||||
return 0;
|
||||
}
|
||||
|
@ -6,22 +6,23 @@ static FILE *g_f;
|
||||
|
||||
static void output_callback(zf_log_message *msg)
|
||||
{
|
||||
*msg->p = '\n';
|
||||
fwrite(msg->buf, msg->p - msg->buf + 1, 1, g_f);
|
||||
*msg->p = '\n';
|
||||
fwrite(msg->buf, msg->p - msg->buf + 1, 1, g_f);
|
||||
}
|
||||
|
||||
int main(int, char* [])
|
||||
{
|
||||
g_f = fopen(g_path, "wb");
|
||||
if (!g_f) {
|
||||
ZF_LOGE_AUX(ZF_LOG_STDERR, "Failed to open log file: %s", g_path);
|
||||
return -1;
|
||||
}
|
||||
zf_log_set_output_callback(ZF_LOG_PUT_STD, output_callback);
|
||||
g_f = fopen(g_path, "wb");
|
||||
if (!g_f)
|
||||
{
|
||||
ZF_LOGE_AUX(ZF_LOG_STDERR, "Failed to open log file: %s", g_path);
|
||||
return -1;
|
||||
}
|
||||
zf_log_set_output_callback(ZF_LOG_PUT_STD, output_callback);
|
||||
|
||||
const int howmany = 1000000;
|
||||
for(int i = 0 ; i < howmany; ++i)
|
||||
ZF_LOGI("zf_log message #%i: This is some text for your pleasure", i);
|
||||
fclose(g_f);
|
||||
ZF_LOGI("zf_log message #%i: This is some text for your pleasure", i);
|
||||
fclose(g_f);
|
||||
return 0;
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ int main(int, char*[])
|
||||
console->info("{:>30}", "right aligned");
|
||||
console->info("{:^30}", "centered");
|
||||
|
||||
spd::get("console")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name) function");
|
||||
spd::get("console")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name) function");
|
||||
|
||||
// Runtime log levels
|
||||
spd::set_level(spd::level::info); //Set global log level to info
|
||||
@ -63,10 +63,10 @@ int main(int, char*[])
|
||||
|
||||
// Asynchronous logging is very fast..
|
||||
// Just call spdlog::set_async_mode(q_size) and all created loggers from now on will be asynchronous..
|
||||
async_example();
|
||||
async_example();
|
||||
|
||||
// syslog example. linux/osx only..
|
||||
syslog_example();
|
||||
syslog_example();
|
||||
|
||||
|
||||
// Release and close all loggers
|
||||
@ -84,20 +84,20 @@ int main(int, char*[])
|
||||
|
||||
void async_example()
|
||||
{
|
||||
size_t q_size = 4096; //queue size must be power of 2
|
||||
spdlog::set_async_mode(q_size);
|
||||
auto async_file = spd::daily_logger_st("async_file_logger", "logs/async_log.txt");
|
||||
for (int i = 0; i < 100; ++i)
|
||||
async_file->info("Async message #{}", i);
|
||||
size_t q_size = 4096; //queue size must be power of 2
|
||||
spdlog::set_async_mode(q_size);
|
||||
auto async_file = spd::daily_logger_st("async_file_logger", "logs/async_log.txt");
|
||||
for (int i = 0; i < 100; ++i)
|
||||
async_file->info("Async message #{}", i);
|
||||
}
|
||||
|
||||
//syslog example (linux/osx only)
|
||||
void syslog_example()
|
||||
{
|
||||
#if defined (__linux__) || defined(__APPLE__)
|
||||
std::string ident = "spdlog-example";
|
||||
auto syslog_logger = spd::syslog_logger("syslog", ident, LOG_PID);
|
||||
syslog_logger->warn("This is warning that will end up in syslog. This is Linux only!");
|
||||
std::string ident = "spdlog-example";
|
||||
auto syslog_logger = spd::syslog_logger("syslog", ident, LOG_PID);
|
||||
syslog_logger->warn("This is warning that will end up in syslog. This is Linux only!");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -33,9 +33,9 @@ public:
|
||||
void register_logger(std::shared_ptr<logger> logger)
|
||||
{
|
||||
std::lock_guard<Mutex> lock(_mutex);
|
||||
auto logger_name = logger->name();
|
||||
throw_if_exists(logger_name);
|
||||
_loggers[logger_name] = logger;
|
||||
auto logger_name = logger->name();
|
||||
throw_if_exists(logger_name);
|
||||
_loggers[logger_name] = logger;
|
||||
}
|
||||
|
||||
|
||||
@ -50,8 +50,8 @@ public:
|
||||
std::shared_ptr<logger> create(const std::string& logger_name, const It& sinks_begin, const It& sinks_end)
|
||||
{
|
||||
std::lock_guard<Mutex> lock(_mutex);
|
||||
throw_if_exists(logger_name);
|
||||
std::shared_ptr<logger> new_logger;
|
||||
throw_if_exists(logger_name);
|
||||
std::shared_ptr<logger> new_logger;
|
||||
if (_async_mode)
|
||||
new_logger = std::make_shared<async_logger>(logger_name, sinks_begin, sinks_end, _async_q_size, _overflow_policy, _worker_warmup_cb, _flush_interval_ms);
|
||||
else
|
||||
@ -61,8 +61,8 @@ public:
|
||||
new_logger->set_formatter(_formatter);
|
||||
|
||||
new_logger->set_level(_level);
|
||||
//Add to registry
|
||||
_loggers[logger_name] = new_logger;
|
||||
//Add to registry
|
||||
_loggers[logger_name] = new_logger;
|
||||
return new_logger;
|
||||
}
|
||||
|
||||
@ -139,11 +139,11 @@ private:
|
||||
registry_t<Mutex>(const registry_t<Mutex>&) = delete;
|
||||
registry_t<Mutex>& operator=(const registry_t<Mutex>&) = delete;
|
||||
|
||||
void throw_if_exists(const std::string &logger_name)
|
||||
{
|
||||
if (_loggers.find(logger_name) != _loggers.end())
|
||||
throw spdlog_ex("logger with name '" + logger_name + "' already exists");
|
||||
}
|
||||
void throw_if_exists(const std::string &logger_name)
|
||||
{
|
||||
if (_loggers.find(logger_name) != _loggers.end())
|
||||
throw spdlog_ex("logger with name '" + logger_name + "' already exists");
|
||||
}
|
||||
Mutex _mutex;
|
||||
std::unordered_map <std::string, std::shared_ptr<logger>> _loggers;
|
||||
formatter_ptr _formatter;
|
||||
|
@ -59,29 +59,29 @@ inline std::shared_ptr<spdlog::logger> spdlog::daily_logger_st(const std::string
|
||||
// Create stdout/stderr loggers (with optinal color support)
|
||||
inline std::shared_ptr<spdlog::logger> create_console_logger(const std::string& logger_name, spdlog::sink_ptr sink, bool color)
|
||||
{
|
||||
if (color) //use color wrapper sink
|
||||
sink = std::make_shared<spdlog::sinks::ansicolor_sink>(sink);
|
||||
return spdlog::details::registry::instance().create(logger_name, sink);
|
||||
if (color) //use color wrapper sink
|
||||
sink = std::make_shared<spdlog::sinks::ansicolor_sink>(sink);
|
||||
return spdlog::details::registry::instance().create(logger_name, sink);
|
||||
}
|
||||
|
||||
inline std::shared_ptr<spdlog::logger> spdlog::stdout_logger_mt(const std::string& logger_name, bool color)
|
||||
{
|
||||
return create_console_logger(logger_name, sinks::stdout_sink_mt::instance(), color);
|
||||
return create_console_logger(logger_name, sinks::stdout_sink_mt::instance(), color);
|
||||
}
|
||||
|
||||
inline std::shared_ptr<spdlog::logger> spdlog::stdout_logger_st(const std::string& logger_name, bool color)
|
||||
{
|
||||
return create_console_logger(logger_name, sinks::stdout_sink_st::instance(), color);
|
||||
return create_console_logger(logger_name, sinks::stdout_sink_st::instance(), color);
|
||||
}
|
||||
|
||||
inline std::shared_ptr<spdlog::logger> spdlog::stderr_logger_mt(const std::string& logger_name, bool color)
|
||||
{
|
||||
return create_console_logger(logger_name, sinks::stderr_sink_mt::instance(), color);
|
||||
return create_console_logger(logger_name, sinks::stderr_sink_mt::instance(), color);
|
||||
}
|
||||
|
||||
inline std::shared_ptr<spdlog::logger> spdlog::stderr_logger_st(const std::string& logger_name, bool color)
|
||||
{
|
||||
return create_console_logger(logger_name, sinks::stderr_sink_st::instance(), color);
|
||||
return create_console_logger(logger_name, sinks::stderr_sink_st::instance(), color);
|
||||
}
|
||||
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
|
@ -11,15 +11,18 @@
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
namespace spdlog {
|
||||
namespace sinks {
|
||||
namespace spdlog
|
||||
{
|
||||
namespace sinks
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief The ansi_color_sink is a decorator around another sink and prefixes
|
||||
* the output with an ANSI escape sequence color code depending on the severity
|
||||
* of the message.
|
||||
*/
|
||||
class ansicolor_sink : public sink {
|
||||
class ansicolor_sink : public sink
|
||||
{
|
||||
public:
|
||||
ansicolor_sink(sink_ptr wrapped_sink);
|
||||
virtual ~ansicolor_sink();
|
||||
@ -104,7 +107,7 @@ inline void ansicolor_sink::set_color(level::level_enum level, const std::string
|
||||
|
||||
inline ansicolor_sink::~ansicolor_sink()
|
||||
{
|
||||
flush();
|
||||
flush();
|
||||
}
|
||||
|
||||
} // namespace sinks
|
||||
|
@ -26,7 +26,7 @@ template<class Mutex>
|
||||
class msvc_sink : public base_sink < Mutex >
|
||||
{
|
||||
public:
|
||||
explicit msvc_sink()
|
||||
explicit msvc_sink()
|
||||
{
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ public:
|
||||
protected:
|
||||
void _sink_it(const details::log_msg& msg) override
|
||||
{
|
||||
OutputDebugStringA(msg.formatted.c_str());
|
||||
OutputDebugStringA(msg.formatted.c_str());
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user