
OpenLogi 调试日志技巧OPENLOGI_LOGdebug 环境变量全场景排错指南【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogiOpenLogi 是一款用 Rust 编写的本地优先local-first罗技外设管理工具可以免费重映射罗技鼠标/键盘的按键、调整 DPI、开关 SmartShift全程走 HID 协议不需要账号、不上传任何遥测数据。当你遇到设备找不到按键没反应等问题时只需设置OPENLOGI_LOGdebug这一个环境变量就能让 CLI、图形界面和后台 Agent 三大组件同时输出详细调试日志是排错的第一把钥匙 。一个变量覆盖全部三个组件OpenLogi 采用统一的环境变量过滤日志同一个OPENLOGI_LOG同时作用于三个程序实现见 docs/USAGE.md组件日志输出位置读取逻辑CLIopenlogi命令终端 stderrcrates/openlogi-cli/src/lib.rsGUI 桌面应用启动它的终端 stderrcrates/openlogi-desktop/src/main.rs后台 Agent终端 stderr加上滚动日志文件crates/openlogi-agent/src/logging.rs不设置该变量时默认日志级别是info——只打印关键状态一旦设为debug或更高级别设备探测、HID 通信、按键事件等细节就会全部现形。快速上手三种系统的最快设置方法只需在启动程序前导出变量即可无需重新编译Linux / macOSbash、zshexport OPENLOGI_LOGdebug openlogi list # 随后正常执行任何命令WindowsPowerShell$env:OPENLOGI_LOG debug openlogi.exe list图形界面建议从终端启动 GUI这样debug日志会直接打印在终端窗口里随看随停。 小技巧不想影响全局时可以只对单条命令生效如OPENLOGI_LOGdebug openlogi diag dpi。场景一设备列表为空先看探测日志设备插上却不出现在openlogi list里是最常见的玄学问题。开启debug后日志会展示设备枚举、USB 通道分配、配对状态等中间过程你可以借此判断卡在哪一步OPENLOGI_LOGdebug openlogi list OPENLOGI_LOGdebug openlogi diag features # 转储当前设备上报的全部 HID 功能如果diag features也报错通常指向权限或传输层问题Linux 下可参考 packaging/linux/udev/70-openlogi.rules 的 udev 规则。场景二按键重映射不生效查 Agent 的滚动日志文件后台 Agent 由 launchd / systemd 托管启动它的 stderr 会被系统丢弃所以 OpenLogi 特意把 Agent 日志额外写入按天滚动的文件最多保留 7 天实现见 crates/openlogi-agent/src/logging.rs# Linux 默认位置XDG state 目录 ls ~/.local/state/openlogi/ # 会看到形如 agent-2026-08-30.log 的文件查看日志的命令export OPENLOGI_LOGdebug tail -f ~/.local/state/openlogi/agent-$(date %F).log按键事件、Hook 回调、动作分发的debug级别记录都会落到这里。更妙的是Agent 的 panic 崩溃信息也会被写进同一个文件进程莫名消失时翻一下当天日志就有答案参见 crates/openlogi-agent/src/logging.rs。场景三DPI / SmartShift 冒烟测试不确定 DPI 读写链路是否正常项目内置了读→写→读回→还原的冒烟测试命令配合debug日志可以逐条核对协议交互OPENLOGI_LOGdebug openlogi diag dpi # DPI 读写冒烟测试 OPENLOGI_LOGdebug openlogi diag smartshift # SmartShift 开关冒烟测试命令用法详情见 docs/USAGE.md。进阶按模块调级别的精准放大镜OPENLOGI_LOG支持标准 EnvFilter 语法可以只放开某个模块的日志避免debug的刷屏轰炸写法效果OPENLOGI_LOGinfo默认级别只看关键信息OPENLOGI_LOGdebug全局打开 debugOPENLOGI_LOGwarn,openlogi_hidpptrace其他模块只看警告HID 通道打印协议级 trace其中OPENLOGI_LOGhidpptrace是开发者调试 HID 协议时的秘密武器——它会把通道层的逐条报文打出来源码注释里也明确提到了这个用法参见 crates/openlogi-hidpp/src/channel.rs 与 crates/openlogi-hid/src/transport.rs。常见问题速查FAQ日志打印到 stdout 找不到三个组件统一输出到stderr重定向时请用2file.log或 file.log 21。Agent 日志文件在哪见上文场景二目录由 XDG state 目录推导crates/openlogi-core/src/paths.rs。日志级别设了却没生效确认变量是在启动程序之前设置的且拼写为OPENLOGI_LOG不是RUST_LOG。总结排错三步走1️⃣export OPENLOGI_LOGdebug2️⃣ 复现问题CLI 直接跑Agent 看滚动日志文件 3️⃣ 仍无头绪时对可疑模块升级到trace级别精查配合 docs/USAGE.md 的 CLI 命令清单和 docs/DEVELOPMENT.md 的开发文档OPENLOGI_LOG基本能帮你定位绝大多数设备与配置问题。作为罗技 Options 的免费开源替代品OpenLogi 把看得见的调试也做成了默认能力 。【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考