diff --git a/examples/SXLog-日志系统使用demo/SXLog-demo.cpp b/examples/SXLog-日志系统使用demo/SXLog-demo.cpp new file mode 100644 index 0000000..311d1aa --- /dev/null +++ b/examples/SXLog-日志系统使用demo/SXLog-demo.cpp @@ -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 \ No newline at end of file