@cozy/minilog

中文文档
1.0.0发布于 2020/10/19MITCommonJS近 30 天下载 5633

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

中文使用文档
文档目录11 节
  1. 特征
  2. 到处都是管子
  3. 安装
  4. 从迷你日志 v1 升级
  5. 启用日志
  6. 过滤
  7. 格式化主题( T)
  8. 使用 Minilog 作为控制台替换
  9. 后端
  10. 节点:控制台, Redis
  11. 浏览器: 阵列、 控制台、 jQuery、 本地Storage

小型日志

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

特征

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

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

从 2.x 升级到 3.x

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

到处都是管子

小型日志比代码更符合惯例 伐木机是一个 事件编辑器后端为 可写流。过滤器和格式化器是双相(可读和可写)流.

迷你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

要登录到控制台 :

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,参见本页末尾的后端.

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

安装

对于节点:

$ npm install minilog

您可以在 ./dist/minilog.js。 。 。 .

从迷你日志 v1 升级

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

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特性. 见 过滤文件 为了更多.

格式化主题( T)

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

screenshot

screenshot2

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

var Minilog = require('minilog');

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

来看看 ./测试/实例/主题 实例.js。 。 。 .

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

使用 Minilog 作为控制台替换

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

例如,以下片断:

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

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

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 共发布 1 个版本,首次发布于 2020/10/19;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.0latest2020/10/196 年前

关于 @cozy/minilog 的常见问题

@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 和提交记录判断。