feat: 接入自建 Sentry 错误上报
- DSN 指向 rustrak 自建 Sentry(项目 8),release 标记 mqttx@版本 - panic 路径:sentry-panic 链式钩子捕获 + 外层钩子 flush 5s, 确保 panic=abort 终止进程前事件送出 - 存储层 elog! 持久化错误同步 capture_message 上报 - 传输用 reqwest+rustls,避免 openssl 依赖
This commit is contained in:
@@ -4,13 +4,16 @@
|
||||
//!
|
||||
//! 刻意与官方 Electron MQTTX 的 `MQTTX/` 目录区分,避免互相覆盖数据。
|
||||
|
||||
/// 存储层诊断输出到 stderr(避免仅为文件持久化引入日志框架)。
|
||||
/// 存储层诊断输出到 stderr(避免仅为文件持久化引入日志框架),
|
||||
/// 并同步上报 Sentry(未初始化时为空操作)。
|
||||
macro_rules! elog {
|
||||
($($arg:tt)*) => {
|
||||
($($arg:tt)*) => {{
|
||||
let msg = format!($($arg)*);
|
||||
eprintln!("[store][{}] {}",
|
||||
chrono::Local::now().format("%H:%M:%S"),
|
||||
format!($($arg)*))
|
||||
};
|
||||
msg);
|
||||
sentry::capture_message(&msg, sentry::Level::Error);
|
||||
}};
|
||||
}
|
||||
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
Reference in New Issue
Block a user