日志工具
Logger
日志类,提供分级别日志输出,支持自定义配置和自定义处理函数。
ts
declare class Logger {
constructor(config?: Partial<LoggerConfig>)
setConfig(config: Partial<LoggerConfig>): this
getConfig(): LoggerConfig
debug(message: string, ...args: any[]): void
info(message: string, ...args: any[]): void
warn(message: string, ...args: any[]): void
error(message: string, ...args: any[]): void
}LoggerConfig 配置
| 属性 | 类型 | 说明 |
|---|---|---|
level | LogLevel | 日志级别,低于此级别的日志不会输出 |
includeSourceInfo | boolean | 是否在日志中显示源代码位置信息 |
prefix | string | 日志前缀 |
handler | (level, message, args, source) => void | 自定义日志处理函数 |
LogLevel 枚举
| 值 | 名称 | 说明 |
|---|---|---|
0 | DEBUG | 调试级别 |
1 | INFO | 信息级别 |
2 | WARN | 警告级别 |
3 | ERROR | 错误级别 |
logger
Vitarx 框架内置的日志实例,前缀为 Vitarx。
ts
declare const logger: Logger示例
tsx
import { logger, LogLevel } from 'vitarx'
// 使用内置 logger
logger.debug('调试信息')
logger.info('普通信息')
logger.warn('警告信息')
logger.error('错误信息')
// 修改日志级别(只输出 WARN 及以上)
logger.setConfig({ level: LogLevel.WARN })
// 自定义日志处理
logger.setConfig({
handler: (level, message, args, source) => {
// 将日志发送到远程服务
sendToLogService({ level, message, args, source })
}
})getStackTrace
获取当前调用栈的字符串表示。
ts
declare function getStackTrace(skip?: number): string| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
skip | number | 1 | 要跳过的堆栈帧数量 |
tsx
import { getStackTrace } from 'vitarx'
function foo() {
console.log(getStackTrace())
}
foo()
// 输出调用栈信息getCallSource
获取调用者的源文件信息(文件名、行号、列号)。
ts
declare function getCallSource(): CodeSource返回值:{ fileName: string, lineNumber: number, columnNumber: number }
tsx
import { getCallSource } from 'vitarx'
function trackCall() {
const source = getCallSource()
console.log(`调用来自 #123;source.fileName}:#123;source.lineNumber}`)
}