feat: add a new awesome feature
This commit is contained in:
58
examples/SXLog-日志系统使用demo/SXLog-demo.cpp
Normal file
58
examples/SXLog-日志系统使用demo/SXLog-demo.cpp
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#include"StellarX.h"//包含SXLog头文件
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
// 业务场景只需用日志系统时的最简用法示例
|
||||||
|
/*
|
||||||
|
//设置编码 按需开启
|
||||||
|
StellarX::SxLogger::setGBK();
|
||||||
|
|
||||||
|
//启用日志文件和控制台输出 按需开启
|
||||||
|
StellarX::SxLogger::Get().enableFile("stellarx.log", false, 1024);
|
||||||
|
StellarX::SxLogger::Get().enableConsole(true);
|
||||||
|
|
||||||
|
//设置最低日志级别和语言 按需设置
|
||||||
|
StellarX::SxLogger::Get().setMinLevel(StellarX::SxLogLevel::Debug); // Info/Debug/Trace 自己切
|
||||||
|
StellarX::SxLogger::Get().setLanguage(StellarX::SxLogLanguage::ZhCN); // ZhCN / EnUS
|
||||||
|
*/
|
||||||
|
using namespace StellarX;
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
|
||||||
|
// 1) 可选:把 Windows 控制台切到 GBK,避免中文乱码(内部用 system("chcp 936"))
|
||||||
|
SxLogger::setGBK();
|
||||||
|
|
||||||
|
// 2) 获取全局 logger 并开启控制台输出
|
||||||
|
SxLogger& log = SxLogger::Get();
|
||||||
|
log.enableConsole(true);
|
||||||
|
|
||||||
|
// 3) 最低输出级别(Debug 及以上都会输出)
|
||||||
|
log.setMinLevel(SxLogLevel::Debug);
|
||||||
|
|
||||||
|
// 4) 语言选择(影响 SX_T 的文本选择,不做转码)
|
||||||
|
log.setLanguage(SxLogLanguage::ZhCN);
|
||||||
|
|
||||||
|
// 5) 打几条日志(流式拼接)
|
||||||
|
SX_LOGI("Init") << SX_T("日志系统已启用", "logging enabled");
|
||||||
|
SX_LOGD("Init") << "minLevel=" << (int)log.getMinLevel();
|
||||||
|
|
||||||
|
// 6) 作用域耗时统计(只有 Trace 级别打开且 shouldLog 命中才会输出)
|
||||||
|
{
|
||||||
|
SX_TRACE_SCOPE("Perf", "demo-scope");
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 7) 切换语言演示
|
||||||
|
log.setLanguage(SxLogLanguage::EnUS);
|
||||||
|
SX_LOGI("Init") << SX_T("这条不会显示中文", "this line is English");
|
||||||
|
|
||||||
|
// 8) Tag 过滤演示(只允许 Init)
|
||||||
|
log.setTagFilter(SxTagFilterMode::Whitelist, { "Init" });
|
||||||
|
SX_LOGI("Init") << "allowed";
|
||||||
|
SX_LOGI("Table") << "blocked (should not appear)";
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user