---
title: "日志成本"
description: "一次请求只产生一个事件，而不是四行：字节数减少 56%，事件数减少 75%。哪个数字会影响你的账单，取决于你的提供商。"
canonical_url: "https://evlog.zhcndoc.com/reference/cost"
---
# 日志成本

> 一次请求只产生一个事件，而不是四行：字节数减少 56%，事件数减少 75%。哪个数字会影响你的账单，取决于你的提供商。

日志账单会随着你发送的内容增长，而每一步都写一行的日志记录器会反复发送相同的请求上下文。每一行都带有自己的级别、时间戳、主机和请求绑定信息。四行，四份副本。

evlog 改为每个请求只发出一个事件，因此上下文只写入一次。本页面会衡量其中的差异，并让你根据自己的流量为其估算价格。

## 用你的数字试算

<log-cost-calculator>



</log-cost-calculator>

## 字节数从何而来

两种形式都是 [性能](https://evlog.zhcndoc.com/reference/performance) 中记录的结账请求，经过真实库序列化，而不是估算得出。

<code-group>

```typescript [evlog, 1 event of 322 B]
const log = createLogger({ method: 'POST', path: '/api/checkout', requestId: 'req_abc' })
log.set({ user: { id: 'usr_123', plan: 'pro' } })
log.set({ cart: { items: 3, total: 9999 } })
log.set({ payment: { method: 'card', last4: '4242' } })
log.emit({ status: 200 })
```

```typescript [pino, 4 lines of 736 B]
const child = pinoLogger.child({ method: 'POST', path: '/api/checkout', requestId: 'req_abc' })
child.info({ user: { id: 'usr_123', plan: 'pro' } }, 'user context')
child.info({ cart: { items: 3, total: 9999 } }, 'cart context')
child.info({ payment: { method: 'card', last4: '4242' } }, 'payment context')
child.info({ status: 200 }, 'request complete')
```

</code-group>

<table>
<thead>
  <tr>
    <th>
      
    </th>
    
    <th align="right">
      事件
    </th>
    
    <th align="right">
      字节
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      pino，4 行
    </td>
    
    <td align="right">
      4
    </td>
    
    <td align="right">
      736
    </td>
  </tr>
  
  <tr>
    <td>
      evlog，1 个事件
    </td>
    
    <td align="right">
      1
    </td>
    
    <td align="right">
      322
    </td>
  </tr>
  
  <tr>
    <td>
      差异
    </td>
    
    <td align="right">
      <strong>
        减少 75%
      </strong>
    </td>
    
    <td align="right">
      <strong>
        减少 56%
      </strong>
    </td>
  </tr>
</tbody>
</table>

这两个数字不同，是因为合并移除了重复的封装，而不是负载。`level`、`time`、`pid`、`hostname`、`method`、`path` 和 `requestId` 被 pino 写入四次，而被 evlog 写入一次，四个 `msg` 字符串则完全消失。无论哪种方式，你实际设置的字段都只会写入一次。

<callout color="warning" icon="i-lucide-alert-triangle">

你的比例不会和这个比例相同。一个只记录两行的处理程序节省得更少；一个在每一行都重复记录大型 `user` 对象的处理程序节省得更多。方法可以迁移，数字不会。

</callout>

## 哪个数字会影响你的账单

提供商会采用两种方式之一来计量日志，而这决定了你实际获得哪种节省。

<table>
<thead>
  <tr>
    <th>
      计量方式
    </th>
    
    <th>
      你获得的节省
    </th>
    
    <th>
      提供商
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      摄入的千兆字节
    </td>
    
    <td>
      <strong>
        56%
      </strong>
      
       的字节数
    </td>
    
    <td>
      Grafana Cloud、Sentry、PostHog、Better Stack、Axiom
    </td>
  </tr>
  
  <tr>
    <td>
      千兆字节<strong>
        和
      </strong>
      
      已索引事件
    </td>
    
    <td>
      <strong>
        75%
      </strong>
      
       的事件数，体现在通常占主导地位的明细项上
    </td>
    
    <td>
      Datadog
    </td>
  </tr>
</tbody>
</table>

按千兆字节计费是常见情况，因此大多数团队会获得字节数节省。Datadog 是值得检查的例外：它按千兆字节收取摄入费用，按百万事件收取索引费用，而在生产环境的流量规模下，索引明细项在两者中更大，因此真正产生影响的是事件数。

费率读取于 2026 年 8 月 14 日，并且是目录价格，不包含免费额度、承诺使用折扣和保留期附加费用。正因如此，它们会作为上方计算器的输入。

## 采样会同时改变两列

计算器会对两种形式同时应用采样，这是对其建模的唯一公平方式。丢弃事件并不是 evlog 能做而其他日志记录器不能做的事情：你可以在任何日志记录器中按级别过滤，也可以在传输层进行采样。只应用于一侧会让 evlog 获得并非由 evlog 带来的节省。将滑块向下拉，两种账单都会同时下降，而它们之间的差距保持不变。

但它仍然是更大的杠杆。合并的效果有上限，因为每个请求发送的事件不可能少于一个。[采样](https://evlog.zhcndoc.com/learn/sampling) 则没有这个限制：前置采样会在发出时按级别丢弃事件，而尾部采样会强制保留你原本想要的事件，因此错误和慢请求能够通过一条丢弃其余请求的规则保留下来。流量不再决定数量，信号才是决定因素，而这正是唯一能在你不断增长时持续有效的方式。

evlog 改变的是采样所作用的单位。丢弃一行会丢失请求的一部分；丢弃一个事件会丢失整个请求，而保留一个事件则会保留其全部内容。

## 在编辑器中询问

相同的计算也是这个网站服务器上的一个 MCP 工具，因此连接到 `https://evlog.dev/mcp` 的助手可以直接回答：

```text
estimate-log-cost({ requestsPerMonth: 10000000, linesPerRequest: 4, provider: "datadog" })
```

它会返回两种形式、节省的数量以及所使用的依据：测得的字节数、应用的费率和读取这些费率的日期。传入 `perGb` 和 `perMillionIndexed`，即可为列表中没有的提供商估价，或修正价格已经变动的提供商。

## 下一步

- [采样](https://evlog.zhcndoc.com/learn/sampling)：两个层级，以及每个层级会让你在可见性方面付出什么代价
- [性能](https://evlog.zhcndoc.com/reference/performance)：这些字节数所依据的基准测试
- [排空适配器](https://evlog.zhcndoc.com/integrate/adapters/overview)：每个目标，以及之后如何改变你的选择

---

- [性能](https://evlog.zhcndoc.com/reference/performance)
- [采样](https://evlog.zhcndoc.com/learn/sampling)


## Sitemap

See the full [sitemap](https://evlog.zhcndoc.com/sitemap.md) for all pages.
