# @fastify/one-line-logger 中文文档

规范地址：https://npmcn.com/package/%40fastify/one-line-logger/

版本：2\.2\.1
npm 元数据更新时间：2026-10-10T10:27:58.918Z
中文译文更新时间：2026-11-14T11:23:10.229Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fastify/one-line-logger
原文对照：https://npmcn.com/package/%40fastify/one-line-logger/?lang=original
项目主页：https://github.com/fastify/one-line-logger#readme
源码仓库：https://github.com/fastify/one-line-logger

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：35.2 kB，20 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2022-08-17T13:18:39.064Z
- 最新版本发布：2026-10-10T10:27:58.582Z
- 近 30 天下载量：103062（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 3 个）

## 中文简介

用于固定日志的简单格式

## 安装

```sh
npm install @fastify/one-line-logger
```

也可以使用：`pnpm add @fastify/one-line-logger`、`yarn add @fastify/one-line-logger`、`bun add @fastify/one-line-logger`

## README

# @ fastify/ 一行浏览器

[![CI](https://github.com/fastify/one-line-logger/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/fastify/one-line-logger/actions/workflows/ci.yml) [![NPM version](https://img.shields.io/npm/v/@fastify/one-line-logger.svg?style=flat)](https://www.npmjs.com/package/@fastify/one-line-logger) [![neostandard javascript style](https://img.shields.io/badge/code_style-neostandard-brightgreen?style=flat)](https://github.com/neostandard/neostandard)

`@fastify/one-line-logger` 帮助您将 setify 的日志格式化为很好的一行消息 :

```
YYYY-MM-dd HH:mm:ss.SSSTZ - <level> - <method> <route path> - <message>
```

标准收到的请求日志行如下:

```
{"level": 30,"time": 1660151282194,"pid": 1557,"hostname": "foo","reqId": "req-1","req": {"method": "GET","url": "/path","hostname": "localhost:8080","remoteAddress": "127.0.0.1"},"msg": "incoming request"}
```

将格式化为:

```
2022-08-11 01:08:02.194+0100 - info - GET / - incoming request
```

## 安装

```
npm i @fastify/one-line-logger
```

## 开始

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
    },
  },
});
```

## 颜色

在支持时默认启用颜色 。 要手动禁用设置所需的颜色 `transport.colorize` 选项到 `false`选项 `colorette` [文档](https://github.com/jorgebucaran/colorette?tab=readme-ov-file#environment)。 。 。 .

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
      colorize: false,
    },
  },
});
```

## 自定义级别

自定义级别可以通过传递到日志选择中来使用

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
    },
    customLevels: {
      foo: 35,
      bar: 45,
    },
  },
});

server.get("/", (request, reply) => {
  request.log.info("time to foobar");
  request.log.foo("FOO!");
  request.log.bar("BAR!");
  reply.send({ foobar: true });
});
```

## 自定义级别颜色

自定义级别颜色可以通过传递到日志选择中来使用. 它们也可以覆盖默认关卡的颜色. 检查所有支持的颜色 [这里](https://github.com/jorgebucaran/colorette?tab=readme-ov-file#supported-colors)。 。 。 .

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
      options: {
        colors: {
          35: "bgYellow",
          45: "magenta",
          60: "bgRedBright" // overwriting the `fatal` log color
        }
      }
    },
    customLevels: {
      foo: 35,
      bar: 45,
    },
  },
});

server.get("/", (request, reply) => {
  request.log.fatal("An error occurred");
  request.log.foo("FOO!");
  request.log.bar("BAR!");
  reply.send({ foobar: true });
});
```

## 仅限时间格式

仅输出没有日期和时区的时间 :

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
      options: { timeOnly: true }
    }
  }
});
```

输出 : `01:08:02.194 - info - GET / - incoming request`

## 自定义时间格式

使用 `customTimeFormat` 选项 [日期格式](https://www.npmjs.com/package/dateformat) 样式 :

```js
const server = fastify({
  logger: {
    transport: {
      target: "@fastify/one-line-logger",
      options: { customTimeFormat: "HH:MM:ss" }
    }
  }
});
```

常见模式 :

-   `"HH:MM:ss"` → `01:08:02`
-   `"yyyy-mm-dd HH:MM:ss"` → `2022-08-11 01:08:02`
-   `"isoDateTime"` → `2022-08-11T01:08:02+0100`

**说明:** `timeOnly` 财务报告和审定财务报表 `customTimeFormat` 它们是相互排斥的,不能一起使用.

## 许可证

许可证根据 [麻省理工学院](https://npmcn.com/package/%40fastify/one-line-logger/LICENSE)。 。 。 .

## 常见问题

### @fastify/one-line-logger 是什么？

用于固定日志的简单格式

### 如何安装 @fastify/one-line-logger？

在项目目录运行 npm install @fastify/one-line-logger，或使用 pnpm add / yarn add / bun add。

### @fastify/one-line-logger 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fastify/one-line-logger 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fastify/one-line-logger 可以商用吗？

@fastify/one-line-logger 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fastify/one-line-logger 的下载量有多少？

根据 npm 官方下载统计，@fastify/one-line-logger 在 2026/10/15 – 2026/11/13 这 30 天内被下载 103,062 次，日均约 3,435 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fastify/one-line-logger 还在维护吗？

最新版本 2\.2\.1 发布于 2026/10/10（1 个月前）；至今共发布 13 个版本，其中过去 12 个月发布了 3 个；首次发布于 2022/08/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

