# @cozy/minilog 中文文档

规范地址：https://npmcn.com/package/%40cozy/minilog/

版本：1\.0\.0
npm 元数据更新时间：2022-05-16T08:05:13.508Z
中文译文更新时间：2026-11-10T21:19:25.333Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：41.2 kB，27 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2020-10-19T07:31:00.956Z
- 最新版本发布：2020-10-19T07:31:01.367Z
- 近 30 天下载量：5633（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

使用 Stream- API 后端和计数、 计时支持的轻量级客户端和服务器侧记录

## 安装

```sh
npm install @cozy/minilog
```

也可以使用：`pnpm add @cozy/minilog`、`yarn add @cozy/minilog`、`bun add @cozy/minilog`

## README

# 小型日志

使用 Stream- API 后端的轻量级客户端和服务器侧日志

### 特征

-   在浏览器和服务器上工作
-   节点控制台输出和Chrome控制台(带有倒置)的主题
-   与节点和浏览器控制台的接口兼容性,即可以替换 `console.*` 由于Minilog支持(`.log`, (中文(简体) ), `.debug`, (中文(简体) ), `.info`, (中文(简体) ), `.warn` 财务报告和审定财务报表 `.error`(中文(简体) )
-   每个日志消息都可以与命名空间相连接.
-   日志输出可以被命名空间和日志级别过滤.
-   同时管道到一个或多个后端流
-   后端 :
    -   节点: Console, 文件( 和所有其他可写入结构), Redis
    -   浏览器: Console, localStorage, jQuery.ajax
-   在Chrome,我们支持它们 Dev控制台的输出.

见文件 [http://mixu.net/minilog/ (英语)](http://mixu.net/minilog/)。 。 。 .

# 从 2.x 升级到 3.x

`v3.0` 将 ajax logger 的 POST 有效载荷从新线分隔的 JSON 线改为散列 `{ logs: [ ... ] }`。以前,只有在 `logger.extras` 被设定。 这使得 POST 有效载荷可以直接被解析为 JSON, 但可能需要您更新您的日志端点, 如果您正在使用 `v2.x` 从前.

## 到处都是管子

小型日志比代码更符合惯例 伐木机是一个 [事件编辑器](http://nodejs.org/api/events.html)后端为 [可写流](http://nodejs.org/api/stream.html)。过滤器和格式化器是双相(可读和可写)流.

迷你log在节点和浏览器中工作:

```
// logs are scoped to a namespace for easy filtering (here, the namespace is "app")
var log = require('minilog')('app');
require('minilog').enable();
```

在浏览器中( 通过单个导出全局 `window.Minilog`:

```
<script src="dist/minilog.js"></script>
<script>
var log = Minilog('app');
Minilog.enable();
</script>
```

用法 :

```
// assuming you've done the two things above
log
  .debug('debug message')
  .info('info message')
  .log('info message')
  .warn('warning')
  .error('this is an error message');
```

输出 :

![screenshot3](https://github.com/mixu/minilog/raw/master/test/example/screenshot3.png)

要登录到控制台 :

```
require('minilog').enable();
// or .pipe(process.stdout), if you don't want the default formatting and filtering
```

要登录到文件 :

```
require('minilog').pipe(fs.createWriteStream('./temp.log'));
```

也可以登录到 Redis 和 HTTP 到 RESTful API,参见本页末尾的后端.

如果你想的话,你可以向不止一个终点吹笛.

## 安装

对于节点:

```shell
$ npm install minilog
```

您可以在 [`./dist/minilog.js`](https://raw.github.com/mixu/minilog/master/dist/minilog.js)。 。 。 .

### 从迷你日志 v1 升级

现在一切都是管子了 这意味着 `.format()` 财务报告和审定财务报表 `.filter()` 函数被折旧。 检查出来 [新的过滤机制文件](http://mixu.net/minilog/filter.html)。要应用一个前端材料,您应该将输入的管道输入到前端,然后把它管道到想要的后端:

```
var Minilog = require('minilog');

Minilog.pipe(Minilog.backends.console.formatWithStack)
       .pipe(Minilog.backends.console);
```

## 启用日志

Minilog输出默认被压制. 要启用日志, 附加 `minilog=1` 转到页面 URL :

```
http://www.example.com/index.html?minilog=1
```

或打电话 `Minilog.enable()` 从dev控制台或代码。 在浏览器上,这也在"localStorage"中设置了一个值,这样可以在之后的重载上启用日志. 打电话 `Minilog.disable()` (单位:千美元)_v2 中的新数据_停止伐木.

## 过滤

Minilog支持通过日志范围名称和日志级别进行过滤,以及一些nifty特性. 见 [过滤文件](http://mixu.net/minilog/filter.html) 为了更多.

## 格式化主题( T)

Minilog 支持主题和自定义格式化器, 并且有几个带有内置主题:

![screenshot](https://github.com/mixu/minilog/raw/master/test/example/screenshot.png)

![screenshot2](https://github.com/mixu/minilog/raw/master/test/example/screenshot2.png)

要启用特定主题, 管道到前题再到控制台:

```
var Minilog = require('minilog');

Minilog
    // formatter
    .pipe(Minilog.backends.console.formatClean)
    // backend
    .pipe(Minilog.backends.console);
```

来看看 [./测试/实例/主题 实例.js](https://github.com/mixu/minilog/blob/master/test/example/themes_example.js)。 。 。 .

要写入自己的格式, 请查看格式化器的源代码 - 它们继承自 `Minilog.Transform`。 。 。 .

## 使用 Minilog 作为控制台替换

如果使用注射器 `console` 对象为日志浏览器或节点.js活动,您可以使用Minilog:它们有类似的接口。 Minilog 提供了一个 `log()` 方法,指向 `debug()`。 。 。 .

例如,以下片断:

```js
function doThings(console) {
    if (problem) {
        console.error('problem');
        return;
    }
    console.log('no problem');
}
```

与 Minilog 的无缝工作代替 `console`数字 :

```js
var Minilog = require('minilog');
doThings(Minilog);
```

## 后端

后端是处理字符串化的可写流.

### 节点:控制台, Redis

控制台的后端就是这个字面意思( 附加代码, 用于以各种方式的漂亮打印日志行):

```
{
  write: function(str) { process.stdout.write(str); }
}
```

Redis的后端几乎同样简单 - 它接受 `client` (节点-redis的例子)和 `key` ,并使用 rpush () 在指定的密钥上添加到列表中.

### 浏览器: 阵列、 控制台、 jQuery、 本地Storage

Array 后端将日志行存储到数组中 。 如果您想要保留所有日志行的列表, 如用于错误报告, 这将会有用 。 打电话 `.get()` 获取数组,以及 `.clear()` 来清空它.

控制台后端可以确保 `console.log` 已提供。 在IE8和IE9上,它试图通过使用JSON.stringify来将对象转换为字符串(而不是"\[对象对象\]")来使控制台变得有点不那么害怕.

JQuery后端对记录服务器侧客户端日志行有用 :

-   它每30秒向给定的 URL 发送新日志信息作为 POST 请求
-   如果本地 Storage 可用, 日志也会写入本地 Storage 。 这样做是有帮助的,因为它降低了仅仅因为客户端导航到不同的页面而丢失日志行的风险.
-   来自 localStorage 的未发送日志在下次启动后端时被发送(在您的域上, localStorage被隔离).
-   没有出错,即使本地Storage不可用或jQuery没有定义(尽管如果没有jQuery,POST没有请求).

本地Storage 后端只写日志给给定 `key` 在本地仓库.

查看一下服务器设置的示例 `./test/examples/jquery_server.js`。 。 。 .

## 常见问题

### @cozy/minilog 是什么？

使用 Stream- API 后端和计数、 计时支持的轻量级客户端和服务器侧记录

### 如何安装 @cozy/minilog？

在项目目录运行 npm install @cozy/minilog，或使用 pnpm add / yarn add / bun add。

### @cozy/minilog 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cozy\_\_minilog 是否存在。

### @cozy/minilog 支持 ESM 还是 CommonJS？

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

### @cozy/minilog 可以商用吗？

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

### @cozy/minilog 的下载量有多少？

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

### @cozy/minilog 还在维护吗？

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

