Demonstrates logger initialization, file/console targets, and Unicode output (Korean, Chinese, Japanese) through both narrow and wide string logging APIs.
#include <iostream>
#include <chrono>
#include <thread>
#include "logger/core/logger.h"
log_module::log_types
file_target_ = log_module::log_types::Sequence;
{
log_module::set_title("logger_sample");
log_module::message_callback(
[](const log_module::log_types& type, const std::string& datetime,
const std::string& message)
{ std::cout << formatter::format("[{}][{}] {}\n", datetime, type, message); });
{
log_module::set_wake_interval(std::chrono::milliseconds(
wait_interval_));
}
return log_module::start();
}
{
if (error_message.has_value())
{
std::cerr << formatter::format("error starting logger: {}\n",
error_message.value_or("unknown error"));
return 0;
}
{
log_module::write_debug("μλ
, World!: {}", index);
log_module::write_debug("ν
μ€νΈ #{} - Hello, δΈη!", index);
log_module::write_debug("θ¦ε {}: γγγ«γ‘γ―", index);
log_module::write_sequence(L"μλ
, World!: {}", index);
log_module::write_sequence(L"ν
μ€νΈ #{} - Hello, δΈη!", index);
log_module::write_sequence(L"θ¦ε {}: γγγ«γ‘γ―", index);
log_module::write_parameter("λ³΅ν© ν
μ€νΈ - κ°: {}, μ΄λ¦: {}", index, "νκΈΈλ");
log_module::write_parameter(L"λ³΅ν© ν
μ€νΈ - κ°: {}, μ΄λ¦: {}", index, L"νκΈΈλ");
log_module::write_information("μ¬λ¬ μ€ ν
μ€νΈ:\n λΌμΈ 1: {}\n λΌμΈ 2: {}\n λΌμΈ 3: {}",
"μλ
νμΈμ", "Hello, World", "γγγ«γ‘γ―");
log_module::write_information(L"μ¬λ¬ μ€ ν
μ€νΈ:\n λΌμΈ 1: {}\n λΌμΈ 2: {}\n λΌμΈ 3: {}",
L"μλ
νμΈμ", L"Hello, World", L"γγγ«γ‘γ―");
}
log_module::stop();
return 0;
}
log_module::log_types file_target_
log_module::log_types callback_target_
auto initialize_logger() -> std::optional< std::string >
uint32_t test_line_count_
log_module::log_types console_target_