From f219b13a47b060693111ab022729f0f04baaf6d1 Mon Sep 17 00:00:00 2001 From: zjk <1553836110@qq.com> Date: Wed, 19 Aug 2026 16:54:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=EF=BC=9A=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=E6=94=AF=E6=8C=81=20missio?= =?UTF-8?q?n=20=E9=85=8D=E7=BD=AE=20logpath?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 main.cpp 中硬编码的 pPowerManger.log - OnStartUp 读取 logpath 配置后调用 loguru::add_file - 不配置则默认当前目录 pPowerManger.log,板上配置为 h100/data 目录 --- missions/h100.moos | 2 ++ src/pPowerManger/PowerManger.cpp | 10 ++++++++++ src/pPowerManger/main.cpp | 4 ++-- src/pPowerManger/pPowerManger.moos | 4 ++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/missions/h100.moos b/missions/h100.moos index 51da89f..3d481f8 100644 --- a/missions/h100.moos +++ b/missions/h100.moos @@ -12,6 +12,8 @@ ProcessConfig = pPowerManger AppTick = 4 CommsTick = 4 log_level = INFO + // 日志文件路径(目录需已存在,由 deploy.sh 创建) + logpath = /root/work/h100/data/pPowerManger.log // 数据库存储路径(目录需已存在,由 deploy.sh 创建) dbpath = /root/work/h100/data/power_data.db } diff --git a/src/pPowerManger/PowerManger.cpp b/src/pPowerManger/PowerManger.cpp index 677ab82..00369a1 100644 --- a/src/pPowerManger/PowerManger.cpp +++ b/src/pPowerManger/PowerManger.cpp @@ -184,6 +184,7 @@ bool PowerManger::OnStartUp() reportConfigWarning("No config block found for " + GetAppName()); std::string dbPath; // 数据库路径,不配置则默认当前目录 power_data.db + std::string logPath; // 日志文件路径,不配置则默认当前目录 pPowerManger.log STRING_LIST::iterator p; for(p=sParams.begin(); p!=sParams.end(); p++) { @@ -203,6 +204,10 @@ bool PowerManger::OnStartUp() dbPath = value; handled = true; } + else if(param == "logpath") { + logPath = value; + handled = true; + } if(!handled) reportUnhandledConfigWarning(orig); @@ -211,6 +216,11 @@ bool PowerManger::OnStartUp() registerVariables(); + // 初始化日志文件:logpath 未配置则默认当前目录 + if (logPath.empty()) logPath = "pPowerManger.log"; + loguru::add_file(logPath.c_str(), loguru::Append, loguru::Verbosity_MAX); + LOG_F(INFO, "日志文件路径: %s", logPath.c_str()); + // 初始化数据库:dbpath 未配置则默认当前目录 if (dbPath.empty()) dbPath = "power_data.db"; LOG_F(INFO, "数据库存储路径: %s", dbPath.c_str()); diff --git a/src/pPowerManger/main.cpp b/src/pPowerManger/main.cpp index 5f11674..6e5563f 100644 --- a/src/pPowerManger/main.cpp +++ b/src/pPowerManger/main.cpp @@ -16,9 +16,9 @@ using namespace std; int main(int argc, char *argv[]) { - // 初始化loguru + // 初始化loguru(stderr 输出与 -v 参数解析) loguru::init(argc, argv); - loguru::add_file("pPowerManger.log", loguru::Append, loguru::Verbosity_MAX); + // 日志文件由 PowerManger::OnStartUp 读取 mission 配置后通过 add_file 添加 string mission_file; string run_command = argv[0]; diff --git a/src/pPowerManger/pPowerManger.moos b/src/pPowerManger/pPowerManger.moos index 763fa52..cb4522b 100644 --- a/src/pPowerManger/pPowerManger.moos +++ b/src/pPowerManger/pPowerManger.moos @@ -4,8 +4,8 @@ ProcessConfig = pPowerManger { AppTick = 4 CommsTick = 4 - log_level = INFO - log_file = /path/to/your/logfile.log + // 日志文件路径;不配置则默认当前目录 pPowerManger.log + // logpath = /data/pPowerManger.log // 数据库存储路径;不配置则默认当前目录 power_data.db // dbpath = /data/power_data.db } \ No newline at end of file