fix logger stacktrase
This commit is contained in:
@@ -22,16 +22,18 @@ namespace hack
|
||||
public:
|
||||
void set_location(std::source_location location) { m_location = location; }
|
||||
void set_devider(std::string devider) { m_devider = devider; }
|
||||
void on_file(bool v = false) { m_no_file = v; }
|
||||
void on_func(bool v = false) { m_no_func = v; };
|
||||
void on_row(bool v = false) { m_no_row = v; }
|
||||
void on_info(bool v = false) { on_file(); on_func(); on_row(); }
|
||||
void on_file(bool v = true) { m_on_file = v; }
|
||||
void on_full_path(bool v = true) { m_on_full_path = v; }
|
||||
void on_func(bool v = true) { m_on_func = v; };
|
||||
void on_row(bool v = true) { m_on_row = v; }
|
||||
void on_info() { on_file(); on_func(); on_row(); on_full_path(); }
|
||||
void bool_as_number(bool v = true) { m_bool_as_number = v; }
|
||||
void reset()
|
||||
{
|
||||
m_no_file = m_base_config.m_no_file;
|
||||
m_no_func = m_base_config.m_no_func;
|
||||
m_no_row = m_base_config.m_no_row;
|
||||
m_on_file = m_base_config.m_on_file;
|
||||
m_on_full_path = m_base_config.m_on_full_path;
|
||||
m_on_func = m_base_config.m_on_func;
|
||||
m_on_row = m_base_config.m_on_row;
|
||||
m_devider = m_base_config.m_devider;
|
||||
m_bool_as_number = m_base_config.m_bool_as_number;
|
||||
}
|
||||
@@ -54,9 +56,10 @@ namespace hack
|
||||
// настройки по умолчанию
|
||||
struct config
|
||||
{
|
||||
bool m_no_file = true; // показывать/не показывать название файла/пути в выоде логов
|
||||
bool m_no_func = true; // показывать/не показывать название функции в выоде логов
|
||||
bool m_no_row = false; // показывать/не показывать номер строки в выоде логов
|
||||
bool m_on_file = true; // показывать/не показывать название файла/пути в выоде логов
|
||||
bool m_on_full_path = false; // показывать/не показывать название файла/пути в выоде логов
|
||||
bool m_on_func = false; // показывать/не показывать название функции в выоде логов
|
||||
bool m_on_row = true; // показывать/не показывать номер строки в выоде логов
|
||||
bool m_bool_as_number = false; // показывет bool как число или как текст (0, false);
|
||||
std::string m_devider = " "; // разделитель по умолчанию
|
||||
} m_base_config;
|
||||
@@ -85,13 +88,18 @@ namespace hack
|
||||
break;
|
||||
}
|
||||
|
||||
if (!m_no_file)
|
||||
ss << utils::color::green << m_location.file_name() << ":" << utils::color::reset;
|
||||
if (m_on_file)
|
||||
{
|
||||
if (m_on_full_path)
|
||||
ss << utils::color::green << m_location.file_name() << ":" << utils::color::reset;
|
||||
else
|
||||
ss << utils::color::green << std::filesystem::path{ m_location.file_name() }.filename().string() << ":" << utils::color::reset;
|
||||
}
|
||||
|
||||
if (!m_no_func)
|
||||
if (m_on_func)
|
||||
ss << utils::color::italic << utils::color::yellow<< m_location.function_name() << utils::color::reset;
|
||||
|
||||
if (!m_no_row)
|
||||
if (m_on_row)
|
||||
ss << utils::color::bold << utils::color::blue << "[" << m_location.line() << "] " << utils::color::reset;
|
||||
|
||||
std::cout << ss.str();
|
||||
@@ -302,9 +310,10 @@ namespace hack
|
||||
std::source_location m_location;
|
||||
std::size_t m_count = 0;
|
||||
std::string m_devider = m_base_config.m_devider;
|
||||
bool m_no_func = m_base_config.m_no_func;
|
||||
bool m_no_file = m_base_config.m_no_file;
|
||||
bool m_no_row = m_base_config.m_no_row;
|
||||
bool m_on_func = m_base_config.m_on_func;
|
||||
bool m_on_full_path = m_base_config.m_on_full_path;
|
||||
bool m_on_file = m_base_config.m_on_file;
|
||||
bool m_on_row = m_base_config.m_on_row;
|
||||
bool m_bool_as_number = m_base_config.m_bool_as_number;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user