mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Log
This commit is contained in:
parent
5e978069b6
commit
0eda768579
|
@ -6,7 +6,7 @@ include_directories(
|
||||||
.
|
.
|
||||||
./src
|
./src
|
||||||
./include
|
./include
|
||||||
${UTILS_SOURCE_PATH}/Log/src/easyloggingpp
|
${UTILS_SOURCE_PATH}/Log/include
|
||||||
${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include
|
${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include
|
||||||
${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/include
|
${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/include
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
// #include <gmock/gmock.h>
|
// #include <gmock/gmock.h>
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
@ -7,6 +7,7 @@ namespace ILogTest
|
||||||
// ../output_files/test/bin/LogTest --gtest_filter=ILogTest.Demo
|
// ../output_files/test/bin/LogTest --gtest_filter=ILogTest.Demo
|
||||||
TEST(ILogTest, Demo)
|
TEST(ILogTest, Demo)
|
||||||
{
|
{
|
||||||
|
|
||||||
CreateLogModule();
|
CreateLogModule();
|
||||||
ILogInit(LOG_INSTANCE_TYPE_END);
|
ILogInit(LOG_INSTANCE_TYPE_END);
|
||||||
LogInfo("hello world.");
|
LogInfo("hello world.");
|
||||||
|
@ -16,77 +17,3 @@ namespace ILogTest
|
||||||
DestroyLogModule();
|
DestroyLogModule();
|
||||||
}
|
}
|
||||||
} // namespace ILogTest
|
} // namespace ILogTest
|
||||||
*/
|
|
||||||
|
|
||||||
#define ELPP_THREAD_SAFE
|
|
||||||
#include "easylogging++.h"
|
|
||||||
#include <gtest/gtest.h>
|
|
||||||
#include <gmock/gmock.h>
|
|
||||||
|
|
||||||
INITIALIZE_EASYLOGGINGPP
|
|
||||||
|
|
||||||
namespace ILogTest
|
|
||||||
{
|
|
||||||
TEST(ILogTest, Demo)
|
|
||||||
{
|
|
||||||
// 假设你已经在全局范围内设置了日志格式
|
|
||||||
el::Configurations defaultConf;
|
|
||||||
defaultConf.setToDefault();
|
|
||||||
/*
|
|
||||||
defaultConf.set(el::Level::Global,
|
|
||||||
el::ConfigurationType::Format,
|
|
||||||
"\x1b[32m%datetime %level %msg\x1b[0m"); // 绿色日志消息
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// 设置 INFO 级别的日志格式为绿色
|
|
||||||
defaultConf.set(el::Level::Info,
|
|
||||||
el::ConfigurationType::Format,
|
|
||||||
"\x1b[32m%datetime %level %msg\x1b[0m");
|
|
||||||
|
|
||||||
// 设置 WARNING 级别的日志格式为黄色
|
|
||||||
defaultConf.set(el::Level::Debug,
|
|
||||||
el::ConfigurationType::Format,
|
|
||||||
"\x1b[33m%datetime %level %msg\x1b[0m");
|
|
||||||
|
|
||||||
// 设置 ERROR 级别的日志格式为红色
|
|
||||||
defaultConf.set(el::Level::Error,
|
|
||||||
el::ConfigurationType::Format,
|
|
||||||
"\x1b[31m%datetime %level %msg\x1b[0m");
|
|
||||||
|
|
||||||
// 注意:上面的格式将所有日志消息都设置为绿色。
|
|
||||||
// 如果你想要为不同的日志级别设置不同的颜色,你需要为每个级别分别设置格式。
|
|
||||||
|
|
||||||
// 另一种方法是使用条件格式,但这在 INI 配置文件中可能更难以实现,
|
|
||||||
// 因此你可能需要通过编程方式来实现。
|
|
||||||
|
|
||||||
el::Loggers::reconfigureLogger("default", defaultConf);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 如果你使用的是配置文件,确保它已正确设置并加载
|
|
||||||
// 否则,你可以在这里通过编程方式配置elpp
|
|
||||||
|
|
||||||
// 示例:动态设置配置以启用颜色输出(注意:这只是一个示例,实际配置可能不同)
|
|
||||||
// el::Configurations defaultConf;
|
|
||||||
// defaultConf.setToDefault();
|
|
||||||
// defaultConf.set(el::Level::Global,
|
|
||||||
// el::ConfigurationType::Format,
|
|
||||||
// "%datetime %level %msg %func %loc");
|
|
||||||
// defaultConf.set(el::Level::Global,
|
|
||||||
// el::ConfigurationType::EnableColoredLogMessages,
|
|
||||||
// "true");
|
|
||||||
// el::Loggers::reconfigureLogger("default", defaultConf);
|
|
||||||
|
|
||||||
// 使用easylogging++的日志宏
|
|
||||||
LOG(INFO) << "hello world.";
|
|
||||||
LOG(ERROR) << "create ... failed.";
|
|
||||||
LOG(DEBUG) << "a = " << 124 << " b = " << "apple";
|
|
||||||
|
|
||||||
// 注意:在单元测试中,你可能不需要初始化或销毁日志模块,
|
|
||||||
// 因为easylogging++已经为你处理了这些。
|
|
||||||
// 但是,如果你有自己的日志封装或初始化代码,你应该根据需要进行调整。
|
|
||||||
}
|
|
||||||
} // namespace ILogTest
|
|
|
@ -1,32 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<configuration>
|
|
||||||
|
|
||||||
<!-- 启用颜色输出 -->
|
|
||||||
<colored>true</colored>
|
|
||||||
|
|
||||||
<!-- 设置日志格式 -->
|
|
||||||
<formats>
|
|
||||||
<pattern>%datetime %level %msg</pattern>
|
|
||||||
</formats>
|
|
||||||
|
|
||||||
<!-- 其他配置... -->
|
|
||||||
|
|
||||||
<appenders>
|
|
||||||
<console name="Stdout">
|
|
||||||
<enabled>true</enabled>
|
|
||||||
<!-- 对于控制台输出,通常不需要设置颜色,因为<colored>标签已经启用了颜色 -->
|
|
||||||
</console>
|
|
||||||
|
|
||||||
<!-- 如果你还配置了文件输出等其他appender,可以在这里设置 -->
|
|
||||||
|
|
||||||
</appenders>
|
|
||||||
|
|
||||||
<loggers>
|
|
||||||
<root>
|
|
||||||
<level value="debug" />
|
|
||||||
<appender-ref ref="Stdout" />
|
|
||||||
<!-- 引用其他appender(如果有的话) -->
|
|
||||||
</root>
|
|
||||||
</loggers>
|
|
||||||
|
|
||||||
</configuration>
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <easylogging++.h>
|
||||||
/**
|
/**
|
||||||
* @brief jieshao
|
* @brief jieshao
|
||||||
*
|
*
|
||||||
|
@ -34,6 +35,23 @@ static void LogFree(ILog *object)
|
||||||
static int LogPrintf(ILog *object, const char *function, const int line, const enum LogType type, const char *format,
|
static int LogPrintf(ILog *object, const char *function, const int line, const enum LogType type, const char *format,
|
||||||
...)
|
...)
|
||||||
{
|
{
|
||||||
|
el::Configurations defaultConf;
|
||||||
|
defaultConf.setToDefault();
|
||||||
|
|
||||||
|
defaultConf.set(el::Level::Info,
|
||||||
|
el::ConfigurationType::Format,
|
||||||
|
"\x1b[32m%datetime %level %msg\x1b[0m");
|
||||||
|
|
||||||
|
defaultConf.set(el::Level::Debug,
|
||||||
|
el::ConfigurationType::Format,
|
||||||
|
"\x1b[33m%datetime %level %msg\x1b[0m");
|
||||||
|
|
||||||
|
defaultConf.set(el::Level::Error,
|
||||||
|
el::ConfigurationType::Format,
|
||||||
|
"\x1b[31m%datetime %level %msg\x1b[0m");
|
||||||
|
|
||||||
|
el::Loggers::reconfigureLogger("default", defaultConf);
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// LogTypeToString(type);
|
// LogTypeToString(type);
|
||||||
constexpr int SEND_TRACE_BUFF_SIZE = 2048;
|
constexpr int SEND_TRACE_BUFF_SIZE = 2048;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user