{"id":172,"date":"2026-03-21T22:47:20","date_gmt":"2026-03-21T14:47:20","guid":{"rendered":"https:\/\/pa.yingzhi8.cn\/index.php\/2026\/03\/21\/logging\/"},"modified":"2026-03-21T23:08:52","modified_gmt":"2026-03-21T15:08:52","slug":"logging","status":"publish","type":"post","link":"https:\/\/pa.yingzhi8.cn\/index.php\/2026\/03\/21\/logging\/","title":{"rendered":"\u65e5\u5fd7"},"content":{"rendered":"<h1>\u65e5\u5fd7<\/h1>\n<p>OpenClaw \u5728\u4e24\u4e2a\u5730\u65b9\u8bb0\u5f55\u65e5\u5fd7\uff1a<\/p>\n<ul>\n<li><strong>\u6587\u4ef6\u65e5\u5fd7<\/strong>\uff08JSON \u884c\uff09\u7531 Gateway \u7f51\u5173\u5199\u5165\u3002<\/li>\n<li><strong>\u63a7\u5236\u53f0\u8f93\u51fa<\/strong>\u663e\u793a\u5728\u7ec8\u7aef\u548c\u63a7\u5236 UI \u4e2d\u3002<\/li>\n<\/ul>\n<p>\u672c\u9875\u8bf4\u660e\u65e5\u5fd7\u5b58\u653e\u4f4d\u7f6e\u3001\u5982\u4f55\u8bfb\u53d6\u65e5\u5fd7\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u65e5\u5fd7\u7ea7\u522b\u548c\u683c\u5f0f\u3002<\/p>\n<h2>\u65e5\u5fd7\u5b58\u653e\u4f4d\u7f6e<\/h2>\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cGateway \u7f51\u5173\u5728\u4ee5\u4e0b\u4f4d\u7f6e\u5199\u5165\u6eda\u52a8\u65e5\u5fd7\u6587\u4ef6\uff1a<\/p>\n<p><code>\/tmp\/openclaw\/openclaw-YYYY-MM-DD.log<\/code><\/p>\n<p>\u65e5\u671f\u4f7f\u7528 Gateway \u7f51\u5173\u4e3b\u673a\u7684\u672c\u5730\u65f6\u533a\u3002<\/p>\n<p>\u4f60\u53ef\u4ee5\u5728 <code>~\/.openclaw\/openclaw.json<\/code> \u4e2d\u8986\u76d6\u6b64\u8bbe\u7f6e\uff1a<\/p>\n<p>&#8220;`json  theme={&#8220;theme&#8221;:{&#8220;light&#8221;:&#8221;min-light&#8221;,&#8221;dark&#8221;:&#8221;min-dark&#8221;}}<br \/>\n{<br \/>\n  &#8220;logging&#8221;: {<br \/>\n    &#8220;file&#8221;: &#8220;\/path\/to\/openclaw.log&#8221;<br \/>\n  }<br \/>\n}<\/p>\n<pre><code>\n## \u5982\u4f55\u8bfb\u53d6\u65e5\u5fd7\n\n### CLI\uff1a\u5b9e\u65f6\u8ddf\u8e2a\uff08\u63a8\u8350\uff09\n\n\u4f7f\u7528 CLI \u901a\u8fc7 RPC \u8ddf\u8e2a Gateway \u7f51\u5173\u65e5\u5fd7\u6587\u4ef6\uff1a\n\n```bash  theme={&quot;theme&quot;:{&quot;light&quot;:&quot;min-light&quot;,&quot;dark&quot;:&quot;min-dark&quot;}}\nopenclaw logs --follow\n<\/code><\/pre>\n<p>\u8f93\u51fa\u6a21\u5f0f\uff1a<\/p>\n<ul>\n<li><strong>TTY \u4f1a\u8bdd<\/strong>\uff1a\u7f8e\u89c2\u3001\u5f69\u8272\u3001\u7ed3\u6784\u5316\u7684\u65e5\u5fd7\u884c\u3002<\/li>\n<li><strong>\u975e TTY \u4f1a\u8bdd<\/strong>\uff1a\u7eaf\u6587\u672c\u3002<\/li>\n<li><code>--json<\/code>\uff1a\u884c\u5206\u9694\u7684 JSON\uff08\u6bcf\u884c\u4e00\u4e2a\u65e5\u5fd7\u4e8b\u4ef6\uff09\u3002<\/li>\n<li><code>--plain<\/code>\uff1a\u5728 TTY \u4f1a\u8bdd\u4e2d\u5f3a\u5236\u7eaf\u6587\u672c\u3002<\/li>\n<li><code>--no-color<\/code>\uff1a\u7981\u7528 ANSI \u989c\u8272\u3002<\/li>\n<\/ul>\n<p>\u5728 JSON \u6a21\u5f0f\u4e0b\uff0cCLI \u8f93\u51fa\u5e26 <code>type<\/code> \u6807\u7b7e\u7684\u5bf9\u8c61\uff1a<\/p>\n<ul>\n<li><code>meta<\/code>\uff1a\u6d41\u5143\u6570\u636e\uff08\u6587\u4ef6\u3001\u6e38\u6807\u3001\u5927\u5c0f\uff09<\/li>\n<li><code>log<\/code>\uff1a\u89e3\u6790\u7684\u65e5\u5fd7\u6761\u76ee<\/li>\n<li><code>notice<\/code>\uff1a\u622a\u65ad\/\u8f6e\u8f6c\u63d0\u793a<\/li>\n<li><code>raw<\/code>\uff1a\u672a\u89e3\u6790\u7684\u65e5\u5fd7\u884c<\/li>\n<\/ul>\n<p>\u5982\u679c Gateway \u7f51\u5173\u65e0\u6cd5\u8bbf\u95ee\uff0cCLI \u4f1a\u6253\u5370\u4e00\u4e2a\u7b80\u77ed\u63d0\u793a\u8fd0\u884c\uff1a<\/p>\n<p>&#8220;`bash  theme={&#8220;theme&#8221;:{&#8220;light&#8221;:&#8221;min-light&#8221;,&#8221;dark&#8221;:&#8221;min-dark&#8221;}}<br \/>\nopenclaw doctor<\/p>\n<pre><code>\n### \u63a7\u5236 UI\uff08Web\uff09\n\n\u63a7\u5236 UI \u7684**\u65e5\u5fd7**\u6807\u7b7e\u9875\u4f7f\u7528 `logs.tail` \u8ddf\u8e2a\u76f8\u540c\u7684\u6587\u4ef6\u3002\n\u53c2\u89c1 [\/web\/control-ui](\/web\/control-ui) \u4e86\u89e3\u5982\u4f55\u6253\u5f00\u5b83\u3002\n\n### \u4ec5\u6e20\u9053\u65e5\u5fd7\n\n\u8981\u8fc7\u6ee4\u6e20\u9053\u6d3b\u52a8\uff08WhatsApp\/Telegram \u7b49\uff09\uff0c\u4f7f\u7528\uff1a\n\n```bash  theme={&quot;theme&quot;:{&quot;light&quot;:&quot;min-light&quot;,&quot;dark&quot;:&quot;min-dark&quot;}}\nopenclaw channels logs --channel whatsapp\n<\/code><\/pre>\n<h2>\u65e5\u5fd7\u683c\u5f0f<\/h2>\n<h3>\u6587\u4ef6\u65e5\u5fd7\uff08JSONL\uff09<\/h3>\n<p>\u65e5\u5fd7\u6587\u4ef6\u4e2d\u7684\u6bcf\u4e00\u884c\u90fd\u662f\u4e00\u4e2a JSON \u5bf9\u8c61\u3002CLI \u548c\u63a7\u5236 UI \u89e3\u6790\u8fd9\u4e9b\u6761\u76ee\u4ee5\u6e32\u67d3\u7ed3\u6784\u5316\u8f93\u51fa\uff08\u65f6\u95f4\u3001\u7ea7\u522b\u3001\u5b50\u7cfb\u7edf\u3001\u6d88\u606f\uff09\u3002<\/p>\n<h3>\u63a7\u5236\u53f0\u8f93\u51fa<\/h3>\n<p>\u63a7\u5236\u53f0\u65e5\u5fd7<strong>\u611f\u77e5 TTY<\/strong>\u5e76\u683c\u5f0f\u5316\u4ee5\u63d0\u9ad8\u53ef\u8bfb\u6027\uff1a<\/p>\n<ul>\n<li>\u5b50\u7cfb\u7edf\u524d\u7f00\uff08\u4f8b\u5982 <code>gateway\/channels\/whatsapp<\/code>\uff09<\/li>\n<li>\u7ea7\u522b\u7740\u8272\uff08info\/warn\/error\uff09<\/li>\n<li>\u53ef\u9009\u7684\u7d27\u51d1\u6216 JSON \u6a21\u5f0f<\/li>\n<\/ul>\n<p>\u63a7\u5236\u53f0\u683c\u5f0f\u7531 <code>logging.consoleStyle<\/code> \u63a7\u5236\u3002<\/p>\n<h2>\u914d\u7f6e\u65e5\u5fd7<\/h2>\n<p>\u6240\u6709\u65e5\u5fd7\u914d\u7f6e\u90fd\u5728 <code>~\/.openclaw\/openclaw.json<\/code> \u7684 <code>logging<\/code> \u4e0b\u3002<\/p>\n<p>&#8220;`json  theme={&#8220;theme&#8221;:{&#8220;light&#8221;:&#8221;min-light&#8221;,&#8221;dark&#8221;:&#8221;min-dark&#8221;}}<br \/>\n{<br \/>\n  &#8220;logging&#8221;: {<br \/>\n    &#8220;level&#8221;: &#8220;info&#8221;,<br \/>\n    &#8220;file&#8221;: &#8220;\/tmp\/openclaw\/openclaw-YYYY-MM-DD.log&#8221;,<br \/>\n    &#8220;consoleLevel&#8221;: &#8220;info&#8221;,<br \/>\n    &#8220;consoleStyle&#8221;: &#8220;pretty&#8221;,<br \/>\n    &#8220;redactSensitive&#8221;: &#8220;tools&#8221;,<br \/>\n    &#8220;redactPatterns&#8221;: [&#8220;sk-.*&#8221;]<br \/>\n  }<br \/>\n}<\/p>\n<pre><code>\n### \u65e5\u5fd7\u7ea7\u522b\n\n* `logging.level`\uff1a**\u6587\u4ef6\u65e5\u5fd7**\uff08JSONL\uff09\u7ea7\u522b\u3002\n* `logging.consoleLevel`\uff1a**\u63a7\u5236\u53f0**\u8be6\u7ec6\u7a0b\u5ea6\u7ea7\u522b\u3002\n\n`--verbose` \u4ec5\u5f71\u54cd\u63a7\u5236\u53f0\u8f93\u51fa\uff1b\u5b83\u4e0d\u6539\u53d8\u6587\u4ef6\u65e5\u5fd7\u7ea7\u522b\u3002\n\n### \u63a7\u5236\u53f0\u6837\u5f0f\n\n`logging.consoleStyle`\uff1a\n\n* `pretty`\uff1a\u4eba\u7c7b\u53cb\u597d\u3001\u5f69\u8272\u3001\u5e26\u65f6\u95f4\u6233\u3002\n* `compact`\uff1a\u66f4\u7d27\u51d1\u7684\u8f93\u51fa\uff08\u6700\u9002\u5408\u957f\u4f1a\u8bdd\uff09\u3002\n* `json`\uff1a\u6bcf\u884c JSON\uff08\u7528\u4e8e\u65e5\u5fd7\u5904\u7406\u5668\uff09\u3002\n\n### \u8131\u654f\n\n\u5de5\u5177\u6458\u8981\u53ef\u4ee5\u5728\u654f\u611f\u4ee4\u724c\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u4e4b\u524d\u5bf9\u5176\u8fdb\u884c\u8131\u654f\uff1a\n\n* `logging.redactSensitive`\uff1a`off` | `tools`\uff08\u9ed8\u8ba4\uff1a`tools`\uff09\n* `logging.redactPatterns`\uff1a\u7528\u4e8e\u8986\u76d6\u9ed8\u8ba4\u96c6\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\u5b57\u7b26\u4e32\u5217\u8868\n\n\u8131\u654f\u4ec5\u5f71\u54cd**\u63a7\u5236\u53f0\u8f93\u51fa**\uff0c\u4e0d\u4f1a\u6539\u53d8\u6587\u4ef6\u65e5\u5fd7\u3002\n\n## \u8bca\u65ad + OpenTelemetry\n\n\u8bca\u65ad\u662f\u7528\u4e8e\u6a21\u578b\u8fd0\u884c**\u548c**\u6d88\u606f\u6d41\u9065\u6d4b\uff08webhooks\u3001\u961f\u5217\u3001\u4f1a\u8bdd\u72b6\u6001\uff09\u7684\u7ed3\u6784\u5316\u3001\u673a\u5668\u53ef\u8bfb\u4e8b\u4ef6\u3002\u5b83\u4eec**\u4e0d**\u66ff\u4ee3\u65e5\u5fd7\uff1b\u5b83\u4eec\u5b58\u5728\u662f\u4e3a\u4e86\u5411\u6307\u6807\u3001\u8ffd\u8e2a\u548c\u5176\u4ed6\u5bfc\u51fa\u5668\u63d0\u4f9b\u6570\u636e\u3002\n\n\u8bca\u65ad\u4e8b\u4ef6\u5728\u8fdb\u7a0b\u5185\u53d1\u51fa\uff0c\u4f46\u5bfc\u51fa\u5668\u4ec5\u5728\u542f\u7528\u8bca\u65ad + \u5bfc\u51fa\u5668\u63d2\u4ef6\u65f6\u624d\u9644\u52a0\u3002\n\n### OpenTelemetry \u4e0e OTLP\n\n* **OpenTelemetry\uff08OTel\uff09**\uff1a\u8ffd\u8e2a\u3001\u6307\u6807\u548c\u65e5\u5fd7\u7684\u6570\u636e\u6a21\u578b + SDK\u3002\n* **OTLP**\uff1a\u7528\u4e8e\u5c06 OTel \u6570\u636e\u5bfc\u51fa\u5230\u6536\u96c6\u5668\/\u540e\u7aef\u7684\u7ebf\u8def\u534f\u8bae\u3002\n* OpenClaw \u76ee\u524d\u901a\u8fc7 **OTLP\/HTTP\uff08protobuf\uff09** \u5bfc\u51fa\u3002\n\n### \u5bfc\u51fa\u7684\u4fe1\u53f7\n\n* **\u6307\u6807**\uff1a\u8ba1\u6570\u5668 + \u76f4\u65b9\u56fe\uff08\u4ee4\u724c\u4f7f\u7528\u3001\u6d88\u606f\u6d41\u3001\u961f\u5217\uff09\u3002\n* **\u8ffd\u8e2a**\uff1a\u6a21\u578b\u4f7f\u7528 + webhook\/\u6d88\u606f\u5904\u7406\u7684 span\u3002\n* **\u65e5\u5fd7**\uff1a\u542f\u7528 `diagnostics.otel.logs` \u65f6\u901a\u8fc7 OTLP \u5bfc\u51fa\u3002\u65e5\u5fd7\u91cf\u53ef\u80fd\u5f88\u5927\uff1b\u8bf7\u6ce8\u610f `logging.level` \u548c\u5bfc\u51fa\u5668\u8fc7\u6ee4\u5668\u3002\n\n### \u8bca\u65ad\u4e8b\u4ef6\u76ee\u5f55\n\n\u6a21\u578b\u4f7f\u7528\uff1a\n\n* `model.usage`\uff1a\u4ee4\u724c\u3001\u6210\u672c\u3001\u6301\u7eed\u65f6\u95f4\u3001\u4e0a\u4e0b\u6587\u3001\u63d0\u4f9b\u5546\/\u6a21\u578b\/\u6e20\u9053\u3001\u4f1a\u8bdd ID\u3002\n\n\u6d88\u606f\u6d41\uff1a\n\n* `webhook.received`\uff1a\u6bcf\u6e20\u9053\u7684 webhook \u5165\u53e3\u3002\n* `webhook.processed`\uff1awebhook \u5df2\u5904\u7406 + \u6301\u7eed\u65f6\u95f4\u3002\n* `webhook.error`\uff1awebhook \u5904\u7406\u7a0b\u5e8f\u9519\u8bef\u3002\n* `message.queued`\uff1a\u6d88\u606f\u5165\u961f\u7b49\u5f85\u5904\u7406\u3002\n* `message.processed`\uff1a\u7ed3\u679c + \u6301\u7eed\u65f6\u95f4 + \u53ef\u9009\u9519\u8bef\u3002\n\n\u961f\u5217 + \u4f1a\u8bdd\uff1a\n\n* `queue.lane.enqueue`\uff1a\u547d\u4ee4\u961f\u5217\u901a\u9053\u5165\u961f + \u6df1\u5ea6\u3002\n* `queue.lane.dequeue`\uff1a\u547d\u4ee4\u961f\u5217\u901a\u9053\u51fa\u961f + \u7b49\u5f85\u65f6\u95f4\u3002\n* `session.state`\uff1a\u4f1a\u8bdd\u72b6\u6001\u8f6c\u6362 + \u539f\u56e0\u3002\n* `session.stuck`\uff1a\u4f1a\u8bdd\u5361\u4f4f\u8b66\u544a + \u6301\u7eed\u65f6\u95f4\u3002\n* `run.attempt`\uff1a\u8fd0\u884c\u91cd\u8bd5\/\u5c1d\u8bd5\u5143\u6570\u636e\u3002\n* `diagnostic.heartbeat`\uff1a\u805a\u5408\u8ba1\u6570\u5668\uff08webhooks\/\u961f\u5217\/\u4f1a\u8bdd\uff09\u3002\n\n### \u542f\u7528\u8bca\u65ad\uff08\u65e0\u5bfc\u51fa\u5668\uff09\n\n\u5982\u679c\u4f60\u5e0c\u671b\u8bca\u65ad\u4e8b\u4ef6\u53ef\u7528\u4e8e\u63d2\u4ef6\u6216\u81ea\u5b9a\u4e49\u63a5\u6536\u5668\uff0c\u4f7f\u7528\u6b64\u914d\u7f6e\uff1a\n\n```json  theme={&quot;theme&quot;:{&quot;light&quot;:&quot;min-light&quot;,&quot;dark&quot;:&quot;min-dark&quot;}}\n{\n  &quot;diagnostics&quot;: {\n    &quot;enabled&quot;: true\n  }\n}\n<\/code><\/pre>\n<h3>\u8bca\u65ad\u6807\u5fd7\uff08\u5b9a\u5411\u65e5\u5fd7\uff09<\/h3>\n<p>\u4f7f\u7528\u6807\u5fd7\u5728\u4e0d\u63d0\u9ad8 <code>logging.level<\/code> \u7684\u60c5\u51b5\u4e0b\u5f00\u542f\u989d\u5916\u7684\u5b9a\u5411\u8c03\u8bd5\u65e5\u5fd7\u3002<br \/>\n\u6807\u5fd7\u4e0d\u533a\u5206\u5927\u5c0f\u5199\uff0c\u652f\u6301\u901a\u914d\u7b26\uff08\u4f8b\u5982 <code>telegram.*<\/code> \u6216 <code>*<\/code>\uff09\u3002<\/p>\n<p>&#8220;`json  theme={&#8220;theme&#8221;:{&#8220;light&#8221;:&#8221;min-light&#8221;,&#8221;dark&#8221;:&#8221;min-dark&#8221;}}<br \/>\n{<br \/>\n  &#8220;diagnostics&#8221;: {<br \/>\n    &#8220;flags&#8221;: [&#8220;telegram.http&#8221;]<br \/>\n  }<br \/>\n}<\/p>\n<pre><code>\n\u73af\u5883\u53d8\u91cf\u8986\u76d6\uff08\u4e00\u6b21\u6027\uff09\uff1a\n\n<\/code><\/pre>\n<p>OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload<\/p>\n<pre><code>\n\u6ce8\u610f\uff1a\n\n* \u6807\u5fd7\u65e5\u5fd7\u8fdb\u5165\u6807\u51c6\u65e5\u5fd7\u6587\u4ef6\uff08\u4e0e `logging.file` \u76f8\u540c\uff09\u3002\n* \u8f93\u51fa\u4ecd\u6839\u636e `logging.redactSensitive` \u8fdb\u884c\u8131\u654f\u3002\n* \u5b8c\u6574\u6307\u5357\uff1a[\/diagnostics\/flags](\/diagnostics\/flags)\u3002\n\n### \u5bfc\u51fa\u5230 OpenTelemetry\n\n\u8bca\u65ad\u53ef\u4ee5\u901a\u8fc7 `diagnostics-otel` \u63d2\u4ef6\uff08OTLP\/HTTP\uff09\u5bfc\u51fa\u3002\u8fd9\u9002\u7528\u4e8e\u4efb\u4f55\u63a5\u53d7 OTLP\/HTTP \u7684 OpenTelemetry \u6536\u96c6\u5668\/\u540e\u7aef\u3002\n\n```json  theme={&quot;theme&quot;:{&quot;light&quot;:&quot;min-light&quot;,&quot;dark&quot;:&quot;min-dark&quot;}}\n{\n  &quot;plugins&quot;: {\n    &quot;allow&quot;: [&quot;diagnostics-otel&quot;],\n    &quot;entries&quot;: {\n      &quot;diagnostics-otel&quot;: {\n        &quot;enabled&quot;: true\n      }\n    }\n  },\n  &quot;diagnostics&quot;: {\n    &quot;enabled&quot;: true,\n    &quot;otel&quot;: {\n      &quot;enabled&quot;: true,\n      &quot;endpoint&quot;: &quot;http:\/\/otel-collector:4318&quot;,\n      &quot;protocol&quot;: &quot;http\/protobuf&quot;,\n      &quot;serviceName&quot;: &quot;openclaw-gateway&quot;,\n      &quot;traces&quot;: true,\n      &quot;metrics&quot;: true,\n      &quot;logs&quot;: true,\n      &quot;sampleRate&quot;: 0.2,\n      &quot;flushIntervalMs&quot;: 60000\n    }\n  }\n}\n<\/code><\/pre>\n<p>\u6ce8\u610f\uff1a<\/p>\n<ul>\n<li>\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 <code>openclaw plugins enable diagnostics-otel<\/code> \u542f\u7528\u63d2\u4ef6\u3002<\/li>\n<li><code>protocol<\/code> \u76ee\u524d\u4ec5\u652f\u6301 <code>http\/protobuf<\/code>\u3002<code>grpc<\/code> \u88ab\u5ffd\u7565\u3002<\/li>\n<li>\u6307\u6807\u5305\u62ec\u4ee4\u724c\u4f7f\u7528\u3001\u6210\u672c\u3001\u4e0a\u4e0b\u6587\u5927\u5c0f\u3001\u8fd0\u884c\u6301\u7eed\u65f6\u95f4\u548c\u6d88\u606f\u6d41\u8ba1\u6570\u5668\/\u76f4\u65b9\u56fe\uff08webhooks\u3001\u961f\u5217\u3001\u4f1a\u8bdd\u72b6\u6001\u3001\u961f\u5217\u6df1\u5ea6\/\u7b49\u5f85\uff09\u3002<\/li>\n<li>\u8ffd\u8e2a\/\u6307\u6807\u53ef\u4ee5\u901a\u8fc7 <code>traces<\/code> \/ <code>metrics<\/code> \u5207\u6362\uff08\u9ed8\u8ba4\uff1a\u5f00\u542f\uff09\u3002\u542f\u7528\u65f6\uff0c\u8ffd\u8e2a\u5305\u62ec\u6a21\u578b\u4f7f\u7528 span \u52a0\u4e0a webhook\/\u6d88\u606f\u5904\u7406 span\u3002<\/li>\n<li>\u5f53\u4f60\u7684\u6536\u96c6\u5668\u9700\u8981\u8ba4\u8bc1\u65f6\u8bbe\u7f6e <code>headers<\/code>\u3002<\/li>\n<li>\u652f\u6301\u7684\u73af\u5883\u53d8\u91cf\uff1a<code>OTEL_EXPORTER_OTLP_ENDPOINT<\/code>\u3001<code>OTEL_SERVICE_NAME<\/code>\u3001<code>OTEL_EXPORTER_OTLP_PROTOCOL<\/code>\u3002<\/li>\n<\/ul>\n<h3>\u5bfc\u51fa\u7684\u6307\u6807\uff08\u540d\u79f0 + \u7c7b\u578b\uff09<\/h3>\n<p>\u6a21\u578b\u4f7f\u7528\uff1a<\/p>\n<ul>\n<li><code>openclaw.tokens<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.token<\/code>\u3001<code>openclaw.channel<\/code>\u3001<code>openclaw.provider<\/code>\u3001<code>openclaw.model<\/code>\uff09<\/li>\n<li><code>openclaw.cost.usd<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.provider<\/code>\u3001<code>openclaw.model<\/code>\uff09<\/li>\n<li><code>openclaw.run.duration_ms<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.provider<\/code>\u3001<code>openclaw.model<\/code>\uff09<\/li>\n<li><code>openclaw.context.tokens<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.context<\/code>\u3001<code>openclaw.channel<\/code>\u3001<code>openclaw.provider<\/code>\u3001<code>openclaw.model<\/code>\uff09<\/li>\n<\/ul>\n<p>\u6d88\u606f\u6d41\uff1a<\/p>\n<ul>\n<li><code>openclaw.webhook.received<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.webhook<\/code>\uff09<\/li>\n<li><code>openclaw.webhook.error<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.webhook<\/code>\uff09<\/li>\n<li><code>openclaw.webhook.duration_ms<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.webhook<\/code>\uff09<\/li>\n<li><code>openclaw.message.queued<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.source<\/code>\uff09<\/li>\n<li><code>openclaw.message.processed<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.outcome<\/code>\uff09<\/li>\n<li><code>openclaw.message.duration_ms<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.channel<\/code>\u3001<code>openclaw.outcome<\/code>\uff09<\/li>\n<\/ul>\n<p>\u961f\u5217 + \u4f1a\u8bdd\uff1a<\/p>\n<ul>\n<li><code>openclaw.queue.lane.enqueue<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.lane<\/code>\uff09<\/li>\n<li><code>openclaw.queue.lane.dequeue<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.lane<\/code>\uff09<\/li>\n<li><code>openclaw.queue.depth<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.lane<\/code> \u6216 <code>openclaw.channel=heartbeat<\/code>\uff09<\/li>\n<li><code>openclaw.queue.wait_ms<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.lane<\/code>\uff09<\/li>\n<li><code>openclaw.session.state<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.state<\/code>\u3001<code>openclaw.reason<\/code>\uff09<\/li>\n<li><code>openclaw.session.stuck<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.state<\/code>\uff09<\/li>\n<li><code>openclaw.session.stuck_age_ms<\/code>\uff08\u76f4\u65b9\u56fe\uff0c\u5c5e\u6027\uff1a<code>openclaw.state<\/code>\uff09<\/li>\n<li><code>openclaw.run.attempt<\/code>\uff08\u8ba1\u6570\u5668\uff0c\u5c5e\u6027\uff1a<code>openclaw.attempt<\/code>\uff09<\/li>\n<\/ul>\n<h3>\u5bfc\u51fa\u7684 span\uff08\u540d\u79f0 + \u5173\u952e\u5c5e\u6027\uff09<\/h3>\n<ul>\n<li><code>openclaw.model.usage<\/code><\/li>\n<li><code>openclaw.channel<\/code>\u3001<code>openclaw.provider<\/code>\u3001<code>openclaw.model<\/code><\/li>\n<li><code>openclaw.sessionKey<\/code>\u3001<code>openclaw.sessionId<\/code><\/li>\n<li><code>openclaw.tokens.*<\/code>\uff08input\/output\/cache_read\/cache_write\/total\uff09<\/li>\n<li><code>openclaw.webhook.processed<\/code><\/li>\n<li><code>openclaw.channel<\/code>\u3001<code>openclaw.webhook<\/code>\u3001<code>openclaw.chatId<\/code><\/li>\n<li><code>openclaw.webhook.error<\/code><\/li>\n<li><code>openclaw.channel<\/code>\u3001<code>openclaw.webhook<\/code>\u3001<code>openclaw.chatId<\/code>\u3001<code>openclaw.error<\/code><\/li>\n<li><code>openclaw.message.processed<\/code><\/li>\n<li><code>openclaw.channel<\/code>\u3001<code>openclaw.outcome<\/code>\u3001<code>openclaw.chatId<\/code>\u3001<code>openclaw.messageId<\/code>\u3001<code>openclaw.sessionKey<\/code>\u3001<code>openclaw.sessionId<\/code>\u3001<code>openclaw.reason<\/code><\/li>\n<li><code>openclaw.session.stuck<\/code><\/li>\n<li><code>openclaw.state<\/code>\u3001<code>openclaw.ageMs<\/code>\u3001<code>openclaw.queueDepth<\/code>\u3001<code>openclaw.sessionKey<\/code>\u3001<code>openclaw.sessionId<\/code><\/li>\n<\/ul>\n<h3>\u91c7\u6837 + \u5237\u65b0<\/h3>\n<ul>\n<li>\u8ffd\u8e2a\u91c7\u6837\uff1a<code>diagnostics.otel.sampleRate<\/code>\uff080.0\u20131.0\uff0c\u4ec5\u6839 span\uff09\u3002<\/li>\n<li>\u6307\u6807\u5bfc\u51fa\u95f4\u9694\uff1a<code>diagnostics.otel.flushIntervalMs<\/code>\uff08\u6700\u5c0f 1000ms\uff09\u3002<\/li>\n<\/ul>\n<h3>\u534f\u8bae\u8bf4\u660e<\/h3>\n<ul>\n<li>OTLP\/HTTP \u7aef\u70b9\u53ef\u4ee5\u901a\u8fc7 <code>diagnostics.otel.endpoint<\/code> \u6216 <code>OTEL_EXPORTER_OTLP_ENDPOINT<\/code> \u8bbe\u7f6e\u3002<\/li>\n<li>\u5982\u679c\u7aef\u70b9\u5df2\u5305\u542b <code>\/v1\/traces<\/code> \u6216 <code>\/v1\/metrics<\/code>\uff0c\u5219\u6309\u539f\u6837\u4f7f\u7528\u3002<\/li>\n<li>\u5982\u679c\u7aef\u70b9\u5df2\u5305\u542b <code>\/v1\/logs<\/code>\uff0c\u5219\u6309\u539f\u6837\u7528\u4e8e\u65e5\u5fd7\u3002<\/li>\n<li><code>diagnostics.otel.logs<\/code> \u4e3a\u4e3b\u65e5\u5fd7\u5668\u8f93\u51fa\u542f\u7528 OTLP \u65e5\u5fd7\u5bfc\u51fa\u3002<\/li>\n<\/ul>\n<h3>\u65e5\u5fd7\u5bfc\u51fa\u884c\u4e3a<\/h3>\n<ul>\n<li>OTLP \u65e5\u5fd7\u4f7f\u7528\u4e0e\u5199\u5165 <code>logging.file<\/code> \u76f8\u540c\u7684\u7ed3\u6784\u5316\u8bb0\u5f55\u3002<\/li>\n<li>\u9075\u5b88 <code>logging.level<\/code>\uff08\u6587\u4ef6\u65e5\u5fd7\u7ea7\u522b\uff09\u3002\u63a7\u5236\u53f0\u8131\u654f<strong>\u4e0d<\/strong>\u9002\u7528\u4e8e OTLP \u65e5\u5fd7\u3002<\/li>\n<li>\u9ad8\u6d41\u91cf\u5b89\u88c5\u5e94\u4f18\u5148\u4f7f\u7528 OTLP \u6536\u96c6\u5668\u91c7\u6837\/\u8fc7\u6ee4\u3002<\/li>\n<\/ul>\n<h2>\u6545\u969c\u6392\u9664\u63d0\u793a<\/h2>\n<ul>\n<li><strong>Gateway \u7f51\u5173\u65e0\u6cd5\u8bbf\u95ee\uff1f<\/strong> \u5148\u8fd0\u884c <code>openclaw doctor<\/code>\u3002<\/li>\n<li><strong>\u65e5\u5fd7\u4e3a\u7a7a\uff1f<\/strong> \u68c0\u67e5 Gateway \u7f51\u5173\u662f\u5426\u6b63\u5728\u8fd0\u884c\u5e76\u5199\u5165 <code>logging.file<\/code> \u4e2d\u7684\u6587\u4ef6\u8def\u5f84\u3002<\/li>\n<li><strong>\u9700\u8981\u66f4\u591a\u7ec6\u8282\uff1f<\/strong> \u5c06 <code>logging.level<\/code> \u8bbe\u7f6e\u4e3a <code>debug<\/code> \u6216 <code>trace<\/code> \u5e76\u91cd\u8bd5\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u65e5\u5fd7 OpenClaw \u5728\u4e24\u4e2a\u5730\u65b9\u8bb0\u5f55\u65e5\u5fd7\uff1a \u6587\u4ef6\u65e5\u5fd7\uff08JSON \u884c\uff09\u7531 Gateway \u7f51\u5173\u5199\u5165\u3002 \u63a7\u5236\u53f0\u8f93 [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-docs"],"_links":{"self":[{"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":1,"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":467,"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/posts\/172\/revisions\/467"}],"wp:attachment":[{"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pa.yingzhi8.cn\/index.php\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}