- LogLevel: 日志级别枚举 (Verbose, Debug, Info, Warning, Error, Fatal) - LogCategory: 日志分类 (General, Rendering, Physics, Memory, Threading等) - ILogSink: 日志输出接口 - ConsoleLogSink: 控制台输出, 支持Windows颜色 - FileLogSink: 文件日志输出 - FileWriter: 文件写入器 - Logger: 日志管理器, 支持多sink, 分类控制 - Profiler: 性能分析器 - 单元测试覆盖
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
#include <gtest/gtest.h>
|
|
#include <XCEngine/Debug/Logger.h>
|
|
#include <XCEngine/Debug/ConsoleLogSink.h>
|
|
|
|
using namespace XCEngine::Debug;
|
|
|
|
namespace {
|
|
|
|
TEST(Debug_Logger, LogLevel) {
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Verbose), "VERBOSE");
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Debug), "DEBUG");
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Info), "INFO");
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Warning), "WARNING");
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Error), "ERROR");
|
|
EXPECT_STREQ(LogLevelToString(LogLevel::Fatal), "FATAL");
|
|
}
|
|
|
|
TEST(Debug_Logger, LogCategory) {
|
|
EXPECT_STREQ(LogCategoryToString(LogCategory::General), "General");
|
|
EXPECT_STREQ(LogCategoryToString(LogCategory::Rendering), "Rendering");
|
|
EXPECT_STREQ(LogCategoryToString(LogCategory::Memory), "Memory");
|
|
EXPECT_STREQ(LogCategoryToString(LogCategory::Threading), "Threading");
|
|
}
|
|
|
|
TEST(Debug_Logger, Initialize) {
|
|
Logger& logger = Logger::Get();
|
|
logger.Initialize();
|
|
EXPECT_TRUE(true);
|
|
logger.Shutdown();
|
|
}
|
|
|
|
TEST(Debug_Logger, SetMinimumLevel) {
|
|
Logger& logger = Logger::Get();
|
|
logger.Initialize();
|
|
logger.SetMinimumLevel(LogLevel::Warning);
|
|
EXPECT_TRUE(true);
|
|
logger.Shutdown();
|
|
}
|
|
|
|
TEST(Debug_Logger, SetCategoryEnabled) {
|
|
Logger& logger = Logger::Get();
|
|
logger.Initialize();
|
|
logger.SetCategoryEnabled(LogCategory::Rendering, false);
|
|
EXPECT_TRUE(true);
|
|
logger.Shutdown();
|
|
}
|
|
|
|
} // namespace
|