mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-10 22:49:51 +08:00
feat: add support for specifying the log output path
This commit is contained in:
@@ -166,7 +166,7 @@ std::string getObSDKVersion();
|
|||||||
|
|
||||||
OBLogSeverity obLogSeverityFromString(const std::string_view& log_level);
|
OBLogSeverity obLogSeverityFromString(const std::string_view& log_level);
|
||||||
|
|
||||||
std::string getRosLogDirectory();
|
std::string getObSdkLogDirectory();
|
||||||
|
|
||||||
std::string configureObSdkLoggerForTool(const std::string& tool_name,
|
std::string configureObSdkLoggerForTool(const std::string& tool_name,
|
||||||
const std::string& log_level);
|
const std::string& log_level);
|
||||||
|
|||||||
@@ -37,6 +37,10 @@ std::string g_camera_name = "orbbec_camera"; // Assuming this is declared elsew
|
|||||||
std::string g_time_domain = "global"; // Assuming this is declared elsewhere
|
std::string g_time_domain = "global"; // Assuming this is declared elsewhere
|
||||||
namespace {
|
namespace {
|
||||||
std::string getLogDirectoryForCamera(const std::string &camera_name) {
|
std::string getLogDirectoryForCamera(const std::string &camera_name) {
|
||||||
|
const char *log_dir_override = std::getenv("ORBBEC_LOG_DIR");
|
||||||
|
if (log_dir_override && log_dir_override[0] != '\0') {
|
||||||
|
return (std::filesystem::path(log_dir_override) / camera_name).string();
|
||||||
|
}
|
||||||
std::string home_dir = std::getenv("HOME") ? std::getenv("HOME") : "";
|
std::string home_dir = std::getenv("HOME") ? std::getenv("HOME") : "";
|
||||||
return (std::filesystem::path(home_dir) / ".ros" / "Log" / camera_name).string();
|
return (std::filesystem::path(home_dir) / ".ros" / "Log" / camera_name).string();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,11 @@ OBLogSeverity obLogSeverityFromString(const std::string_view &log_level) {
|
|||||||
return OBLogSeverity::OB_LOG_SEVERITY_OFF;
|
return OBLogSeverity::OB_LOG_SEVERITY_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string getRosLogDirectory() {
|
std::string getObSdkLogDirectory() {
|
||||||
|
const char *log_dir_override = std::getenv("ORBBEC_LOG_DIR");
|
||||||
|
if (log_dir_override && log_dir_override[0] != '\0') {
|
||||||
|
return std::string(log_dir_override);
|
||||||
|
}
|
||||||
const char *home = std::getenv("HOME");
|
const char *home = std::getenv("HOME");
|
||||||
const std::filesystem::path home_dir = home != nullptr ? home : "";
|
const std::filesystem::path home_dir = home != nullptr ? home : "";
|
||||||
return (home_dir / ".ros" / "Log").string();
|
return (home_dir / ".ros" / "Log").string();
|
||||||
@@ -63,7 +67,7 @@ std::string configureObSdkLoggerForTool(const std::string &tool_name,
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::filesystem::path log_dir(getRosLogDirectory());
|
const std::filesystem::path log_dir(getObSdkLogDirectory());
|
||||||
std::filesystem::create_directories(log_dir);
|
std::filesystem::create_directories(log_dir);
|
||||||
|
|
||||||
const auto now = std::chrono::system_clock::now();
|
const auto now = std::chrono::system_clock::now();
|
||||||
|
|||||||
Reference in New Issue
Block a user