Loading...
Loading...
Compare original and translation side by side
feat: add {name} adapterfeat: add OTLP adapterfeat: add Axiom drain adapterfeat:feat: add {name} adapterfeat: add OTLP adapterfeat: add Axiom drain adapterfeat:| # | File | Action |
|---|---|---|
| 1 | | Create adapter source |
| 2 | | Add build entry |
| 3 | | Add |
| 4 | | Create tests |
| 5 | | Create adapter doc page (before |
| 6 | | Add adapter to overview (links, card, env vars) |
| 7 | | Add adapter to the "Built-in Adapters" table |
| 8 | Renumber | Ensure |
| 序号 | 文件 | 操作 |
|---|---|---|
| 1 | | 创建适配器源代码 |
| 2 | | 添加构建入口 |
| 3 | | 添加 |
| 4 | | 创建测试用例 |
| 5 | | 创建适配器文档页面(放在 |
| 6 | | 在概览中添加适配器(链接、卡片、环境变量) |
| 7 | | 在“内置适配器”表格中添加该适配器 |
| 8 | 重命名 | 确保添加新适配器后 |
| Placeholder | Example (Datadog) | Usage |
|---|---|---|
| | File names, import paths, env var suffix |
| | PascalCase in function/interface names |
| | SCREAMING_CASE in env var prefixes |
| 占位符 | 示例(Datadog) | 用途 |
|---|---|---|
| | 文件名、导入路径、环境变量后缀 |
| | 函数/接口名称使用大驼峰命名 |
| | 环境变量前缀使用全大写加下划线命名 |
packages/evlog/src/adapters/{name}.tstimeout?: numbergetRuntimeConfig()./_utilscreate{Name}Drain()runtimeConfig.evlog.{name}runtimeConfig.{name}NUXT_{NAME}_*{NAME}_*create{Name}Drain(overrides?: Partial<Config>)(ctx: DrainContext) => Promise<void>sendTo{Name}(event, config)sendBatchTo{Name}(events, config)console.error('[evlog/{name}] ...')AbortControllerconfig.timeoutto{Name}Event()packages/evlog/src/adapters/{name}.tstimeout?: numbergetRuntimeConfig()./_utilscreate{Name}Drain()runtimeConfig.evlog.{name}runtimeConfig.{name}NUXT_{NAME}_*{NAME}_*create{Name}Drain(overrides?: Partial<Config>)(ctx: DrainContext) => Promise<void>sendTo{Name}(event, config)sendBatchTo{Name}(events, config)console.error('[evlog/{name}] ...')config.timeoutAbortControllerto{Name}Event()packages/evlog/tsdown.config.ts'adapters/{name}': 'src/adapters/{name}.ts',sentrypackages/evlog/tsdown.config.ts'adapters/{name}': 'src/adapters/{name}.ts',sentrypackages/evlog/package.jsonexports./posthog"./{name}": {
"types": "./dist/adapters/{name}.d.mts",
"import": "./dist/adapters/{name}.mjs"
}typesVersions["*"]"{name}": [
"./dist/adapters/{name}.d.mts"
]packages/evlog/package.jsonexports./posthog"./{name}": {
"types": "./dist/adapters/{name}.d.mts",
"import": "./dist/adapters/{name}.mjs"
}typesVersions["*"]"{name}": [
"./dist/adapters/{name}.d.mts"
]packages/evlog/test/adapters/{name}.test.tssendBatchTo{Name}packages/evlog/test/adapters/{name}.test.tssendBatchTo{Name}apps/docs/content/3.adapters/{n}.{name}.md{n}custom.md---
title: "{Name} Adapter"
description: "Send logs to {Name} for [value prop]. Zero-config setup with environment variables."
navigation:
title: "{Name}"
icon: i-simple-icons-{name} # or i-lucide-* for generic
links:
- label: "{Name} Dashboard"
icon: i-lucide-external-link
to: https://{service-url}
target: _blank
color: neutral
variant: subtle
- label: "OTLP Adapter"
icon: i-simple-icons-opentelemetry
to: /adapters/otlp
color: neutral
variant: subtle
---evlog/{name}create{Name}Drain()sendTo{Name}()sendBatchTo{Name}()apps/docs/content/3.adapters/2.axiom.mdapps/docs/content/3.adapters/{n}.{name}.md{n}custom.md---
title: "{Name} 适配器"
description: "将日志发送至{Name}以[实现价值]。支持通过环境变量实现零配置启动。"
navigation:
title: "{Name}"
icon: i-simple-icons-{name} # 通用图标可使用i-lucide-*
links:
- label: "{Name} 控制台"
icon: i-lucide-external-link
to: https://{service-url}
target: _blank
color: neutral
variant: subtle
- label: "OTLP 适配器"
icon: i-simple-icons-opentelemetry
to: /adapters/otlp
color: neutral
variant: subtle
---evlog/{name}create{Name}Drain()sendTo{Name}()sendBatchTo{Name}()apps/docs/content/3.adapters/2.axiom.mdapps/docs/content/3.adapters/1.overview.mdapps/docs/content/3.adapters/1.overview.mdlinkslinks- label: "{Name}"
icon: i-simple-icons-{name}
to: /adapters/{name}
color: neutral
variant: subtle- label: "{Name}"
icon: i-simple-icons-{name}
to: /adapters/{name}
color: neutral
variant: subtle::card-group::card-group :::card
---
icon: i-simple-icons-{name}
title: {Name}
to: /adapters/{name}
---
[Short description of what the adapter does.]
::: :::card
---
icon: i-simple-icons-{name}
title: {Name}
to: /adapters/{name}
---
[适配器功能的简短描述]
:::.env.env.envNUXT_AXIOM_TOKENNUXT_OTLP_ENDPOINTNUXT_POSTHOG_API_KEYundefined.envNUXT_AXIOM_TOKENNUXT_OTLP_ENDPOINTNUXT_POSTHOG_API_KEYundefinedundefinedundefinedAGENTS.md| {Name} | `evlog/{name}` | Send logs to {Name} for [description] |**Using {Name} Adapter:**
\`\`\`typescript
// server/plugins/evlog-drain.ts
import { create{Name}Drain } from 'evlog/{name}'
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('evlog:drain', create{Name}Drain())
})
\`\`\`
Set the required environment variables (e.g., \`NUXT_{NAME}_TOKEN\`, \`NUXT_{NAME}_ENDPOINT\`, etc. -- depends on the service).AGENTS.md| {Name} | `evlog/{name}` | 将日志发送至{Name}以[描述用途] |**使用{Name}适配器:**
\`\`\`typescript
// server/plugins/evlog-drain.ts
import { create{Name}Drain } from 'evlog/{name}'
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('evlog:drain', create{Name}Drain())
})
\`\`\`
设置所需的环境变量(例如`NUXT_{NAME}_TOKEN`、`NUXT_{NAME}_ENDPOINT`等,具体取决于服务)。custom.mdcustom.mdcustom.mdcustom.md5.{name}.md5.custom.md6.custom.mdcustom.mdcustom.md5.{name}.md5.custom.md6.custom.mdcd packages/evlog
bun run build # Verify build succeeds with new entry
bun run test # Verify tests passcd packages/evlog
bun run build # 验证构建是否成功包含新入口
bun run test # 验证测试是否通过