Skip to content

Commit 211d6c5

Browse files
committed
fix(log): 截断超长配置值避免日志文件膨胀
config 加载日志会原样打印 tracker 列表与 base64 缓存(如 ed2k_nodes_dat_cache ~8KB)。Dart 侧配置值压平换行并截断到 120 字符;Rust 侧 bt_config 从 Debug 全量输出改为字段摘要(tracker 只打行数)。
1 parent 1523862 commit 211d6c5

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

lib/src/models/settings_provider.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -981,11 +981,20 @@ class SettingsProvider extends ChangeNotifier {
981981
}
982982
}
983983

984+
/// 日志用值截断:压平换行并限制长度,避免 tracker 列表 / base64 缓存
985+
/// (如 ed2k_nodes_dat_cache ~8KB)把日志文件撑爆。
986+
static String _truncateForLog(String value) {
987+
const maxLen = 120;
988+
final flat = value.replaceAll('\r\n', r'\n').replaceAll('\n', r'\n');
989+
if (flat.length <= maxLen) return flat;
990+
return '${flat.substring(0, maxLen)}…(${value.length} chars)';
991+
}
992+
984993
void _onConfigLoaded(RustSignalPack<ConfigLoaded> pack) {
985994
final entries = pack.message.entries;
986995
logInfo('Settings', '_onConfigLoaded: ${entries.length} entries');
987996
for (final entry in entries) {
988-
logInfo('Settings', ' config: ${entry.key}=${entry.value}');
997+
logInfo('Settings', ' config: ${entry.key}=${_truncateForLog(entry.value)}');
989998
switch (entry.key) {
990999
case 'default_save_dir':
9911000
_defaultSaveDir = entry.value;

native/hub/src/actors/download_actor.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,11 +287,17 @@ pub async fn run(db_dir: PathBuf) {
287287
bt_config.custom_trackers = defaults;
288288
}
289289
log_info!(
290-
"[actor] init config: max_concurrent={}, speed_limit_bps={}, save_dir={}, bt_config={:?}",
290+
"[actor] init config: max_concurrent={}, speed_limit_bps={}, save_dir={}, \
291+
bt: dht={}, upnp={}, ports={}-{}, custom_trackers={} lines, subscription_trackers={} lines",
291292
max_concurrent,
292293
speed_limit_bps,
293294
save_dir,
294-
bt_config,
295+
bt_config.enable_dht,
296+
bt_config.enable_upnp,
297+
bt_config.port_start,
298+
bt_config.port_end,
299+
bt_config.custom_trackers.lines().count(),
300+
bt_config.subscription_trackers.lines().count(),
295301
);
296302

297303
let app_data_dir = db_dir.to_string_lossy().into_owned();

0 commit comments

Comments
 (0)