例1をダウンロードして従いました。
例 2 ( Create stdout/stderr logger object
) に移動して行き詰まりました。本当はそのまま走れるけど変えたら
spdlog::get("console")
spdlog::get("err_logger")
それにクラッシュします。
そのように変更することになっていますか?
#include "spdlog/spdlog.h"
#include "spdlog/sinks/stdout_color_sinks.h"
void stdout_example()
{
// create color multi threaded logger
auto console = spdlog::stdout_color_mt("console");
auto err_logger = spdlog::stderr_color_mt("stderr");
spdlog::get("err_logger")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name)");
}
int main()
{
stdout_example();
return 0;
}
私も例を試しましたBasic file logger
:
#include <iostream>
#include "spdlog/sinks/basic_file_sink.h"
void basic_logfile_example()
{
try
{
auto logger = spdlog::basic_logger_mt("basic_logger", "logs/basic-log.txt");
}
catch (const spdlog::spdlog_ex &ex)
{
std::cout << "Log init failed: " << ex.what() << std::endl;
}
}
int main()
{
basic_logfile_example();
return 0;
}
basic-log.txt
そして、ファイルが作成されているのがわかりますが、そこには何もありません。