@ecopages/logger

中文文档
0.2.3发布于 2026/03/05MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 5394

一个轻而易举,灵活的记录库,有色彩支持,时间戳,以及计时器功能. 这个日志支持多个日志级别,并允许方便的扩展并融入任何项目.

中文使用文档
文档目录15 节
  1. 特征
  2. 安装
  3. 基本用途
  4. 高级配置
  5. 配置选项
  6. 时间戳格式
  7. 堆栈跟踪出错
  8. 时间功能
  9. 调试工具
  10. 自定义颜色
  11. 实例
  12. 带有时间戳和颜色
  13. 带有调试信件
  14. 用计时器
  15. 带有有条件调试计时器

@ coopages/ 浏览器

一个轻而易举,灵活的记录库,有色彩支持,时间戳,以及计时器功能. 这个日志支持多个日志级别,并允许方便的扩展并融入任何项目.

特征

  • 多个日志级别页:1 INFO, (中文(简体) ), ERROR, (中文(简体) ), WARN,以及 DEBUG 日志级别
  • 有色输出: 浏览器和节点环境中不同日志级别的可配置颜色
  • 时间戳: 带有可配置格式的可选时间戳
  • 计时器支持:用于性能测量的内置定时器功能
  • 调试工具: 有条件调试操作的帮助方法
  • 前缀信件: 自定义所有日志信件的前缀
  • 环境检测: 为浏览器或节点环境自动调整输出格式
  • 广泛: 随自定义功能容易扩展

安装

npm install @ecopages/logger
# or
yarn add @ecopages/logger
# or
bun add @ecopages/logger

基本用途

import { Logger } from "@ecopages/logger";

// Create a basic logger
const logger = new Logger("[my-app]");

// Log messages at different levels
logger.info("This is an informational message");
logger.warn("This is a warning message");
logger.error("This is an error message");
logger.debug("This is a debug message"); // Only shown if debug is enabled

高级配置

日志支持各种配置选项 :

const logger = new Logger("[my-app]", {
    debug: true, // Enable debug messages
    color: true, // Enable colored output
    timestamp: true, // Add timestamps to messages
    timestampFormat: "full", // Configure timestamp format
    locale: "de-DE", // Optional locale for timestamps
    verboseTimer: true, // Show timer start messages
    colors: {
        // Custom colors
        INFO: "color: purple",
        ERROR: "color: darkred",
    },
});

配置选项

选项类型默认说明
debug布尔false启用调试级别消息
color布尔true启用彩色输出
timestamp布尔false在信件中添加时间戳
timestampFormat"完整""时间""短""时间"时间戳格式
locale字符串 qq 字符串 []"在美国"时间戳使用的地方
verboseTimer布尔false显示时间启动消息
colors部分- 说吧日志级别自定义颜色

时间戳格式

  • full: 全日期和时间
  • time: 只限时间
  • short: 日期和时间短

时间戳输出通过 toLocaleString(locale, ...)。 。 。 . 默认为 en-US; 设置 locale 来定制它.

堆栈跟踪出错

为了保持堆放痕迹,通过实际 Error 对象 logger.error数字 :

try {
    throw new Error("Something failed");
} catch (error: unknown) {
    if (error instanceof Error) {
        logger.error(error); // preserves stack output
    } else {
        logger.error(new Error(String(error)));
    }
}

如果你通过了 error.message 相反,堆栈跟踪是没有的.

时间功能

是否启用或禁用颜色, 计时器行为是一致的 :

  • color: true • 有色计时器输出
  • color: false • 纯定时器输出
  • verboseTimer: true • 日志 start 持续时间输出前的信件
// Start a timer
logger.time("operation");

// ... some operations ...

// End the timer and log duration
logger.timeEnd("operation");

调试工具

日志提供了几种特定的调试方法:

// Check if debug mode is enabled
if (logger.isDebugEnabled()) {
    // Perform debug-only operations
}

// Start a timer only when debug is enabled
logger.debugTime("debug-operation");

// ... some operations ...

// End the debug timer (only logs when debug is enabled)
logger.debugTimeEnd("debug-operation");

自定义颜色

对于浏览器和节点.js环境,颜色可以不同定制:

// Browser colors (CSS syntax)
const logger = new Logger("[my-app]", {
    colors: {
        INFO: "color: purple",
        ERROR: "color: darkred",
        WARN: "color: orange",
        DEBUG: "color: cyan",
        TIMER: "color: magenta",
    },
});

// Node.js colors (ANSI codes)
const logger = new Logger("[my-app]", {
    colors: {
        INFO: "\x1b[35m", // Purple
        ERROR: "\x1b[31m", // Red
        WARN: "\x1b[33m", // Yellow
        DEBUG: "\x1b[36m", // Cyan
        TIMER: "\x1b[35m", // Magenta
    },
});

实例

带有时间戳和颜色

const logger = new Logger("[my-app]", {
    timestamp: true,
    timestampFormat: "full",
});

logger.info("Application started");
// Output: [02/16/2024, 15:30:45] [my-app] Application started

带有调试信件

const logger = new Logger("[my-app]", { debug: true });

logger.debug("Configuration loaded:", { port: 3000 });
// Output: [my-app] Configuration loaded: { port: 3000 }

用计时器

const logger = new Logger("[my-app]", { verboseTimer: true });

logger.time("db-query");
// ... database operation ...
logger.timeEnd("db-query");
// Output: [my-app] db-query: 123.45ms

带有有条件调试计时器

const logger = new Logger("[my-app]", { debug: true });

// Only starts timer if debug is enabled
logger.debugTime("expensive-calculation");

// Some expensive operation
const result = performExpensiveCalculation();

// Only logs time if debug is enabled
logger.debugTimeEnd("expensive-calculation");

版本与发布记录

@ecopages/logger 共发布 9 个版本,首次发布于 2024/06/29;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.3latest2026/03/058 个月前
0.2.22025/04/171.6 年前
0.2.12025/02/171.7 年前
0.2.02025/02/161.7 年前
0.1.32024/09/212 年前
0.1.22024/07/012 年前

关于 @ecopages/logger 的常见问题

@ecopages/logger 是什么?

一个轻而易举,灵活的记录库,有色彩支持,时间戳,以及计时器功能. 这个日志支持多个日志级别,并允许方便的扩展并融入任何项目.

如何安装 @ecopages/logger?

在项目目录运行 npm install @ecopages/logger,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(^5.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ecopages/logger 支持 TypeScript 吗?

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

@ecopages/logger 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ecopages/logger 可以商用吗?

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

@ecopages/logger 的下载量有多少?

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

@ecopages/logger 还在维护吗?

最新版本 0.2.3 发布于 2026/03/05(8 个月前);至今共发布 9 个版本,其中过去 12 个月发布了 1 个;首次发布于 2024/06/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。