# @ecopages/logger 中文文档

规范地址：https://npmcn.com/package/%40ecopages/logger/

版本：0\.2\.3
npm 元数据更新时间：2026-03-04T22:26:50.771Z
中文译文更新时间：2026-11-13T06:06:53.979Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：15 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：typescript ^5\.0\.0
- 首次发布：2024-06-28T22:17:01.610Z
- 最新版本发布：2026-03-04T22:26:50.410Z
- 近 30 天下载量：5394（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 1 个）

## 中文简介

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

## 安装

```sh
npm install @ecopages/logger
```

也可以使用：`pnpm add @ecopages/logger`、`yarn add @ecopages/logger`、`bun add @ecopages/logger`

## README

# @ coopages/ 浏览器

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

## 特征

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

## 安装

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

## 基本用途

```ts
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
```

## 高级配置

日志支持各种配置选项 :

```ts
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`数字 :

```ts
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` 持续时间输出前的信件

```ts
// Start a timer
logger.time("operation");

// ... some operations ...

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

## 调试工具

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

```ts
// 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环境,颜色可以不同定制:

```ts
// 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
    },
});
```

## 实例

### 带有时间戳和颜色

```ts
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
```

### 带有调试信件

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

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

### 用计时器

```ts
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
```

### 带有有条件调试计时器

```ts
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 是什么？

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

### 如何安装 @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 和提交记录判断。

