一个轻量级的 TypeScript 日志库,支持多级别日志、自定义格式化器和彩色输出。
- 🎨 彩色输出 - 基于 picocolors,支持不同日志级别的颜色区分
- 📊 多级别日志 - 支持 DEBUG、INFO、WARN、ERROR 四个级别
- 🔧 自定义格式化器 - 可扩展的消息格式化系统
- ⚡ TypeScript 支持 - 完整的类型定义
- 🎯 轻量级 - 几乎零依赖(只有picocolors)
bun add @huan_kong/logger
# 或
npm install @huan_kong/logger
# 或
pnpm add @huan_kong/logger
# 或
yarn add @huan_kong/loggerimport { Logger, LogLevel } from '@huan_kong/logger'
// 创建 logger 实例
const logger = new Logger({
title: '标题', // 必选
})
// 基本使用
logger.INFO('这是一条信息日志')
logger.WARN('这是一条警告日志')
logger.ERROR('这是一条错误日志')
logger.DEBUG('这是一条调试日志') // 默认级别下不会显示
// 设置日志级别
logger.setLevel(LogLevel.DEBUG)
logger.DEBUG('现在可以看到调试日志了')
// 支持多个参数
logger.INFO('用户登录', { userId: 123, ip: '192.168.1.1' })import { defaultTransformer, Logger, LogLevel } from '@huan_kong/logger'
const logger = new Logger({
title: '标题', // 必选
level: LogLevel.DEBUG, // 设置日志级别
transformers: [defaultTransformer], // 自定义格式化器
})import type { Transformer } from '@huan_kong/logger'
// 创建自定义格式化器
const customTransformer: Transformer = (...args) => {
return args.map((arg) => {
if (typeof arg === 'string') {
return arg.toUpperCase()
}
return arg
})
}
// 添加格式化器
logger.options.transformer.push(customTransformer)new Logger(options?: LoggerOptions)
DEBUG(...messages: unknown[])- 输出调试日志INFO(...messages: unknown[])- 输出信息日志WARN(...messages: unknown[])- 输出警告日志ERROR(...messages: unknown[])- 输出错误日志
enum LogLevel {
DEBUG = 0,
INFO = 1,
WARN = 2,
ERROR = 3,
}# 安装依赖
bun install
# 构建
bun build
# 代码检查
bun lintMIT © huankong233