Skip to content

Functions

createLogger()

createLogger(module, formatter): object

基于 console 创建简单的信息输出工具

Parameters

ParameterTypeDefault valueDescription
modulestringundefined模块名
formatter(module, subModule, msg, type) => stringdefaultFormatter信息格式化器

Returns

object

信息输出工具

error()

error: (msg, ...args) => void

输出一条错误信息,同 console.error

Parameters
ParameterTypeDescription
msgstring消息内容
...argsany[]额外参数
Returns

void

format()

format: (msg, type) => string

格式化消息内容

Parameters
ParameterTypeDefault valueDescription
msgstringundefined消息内容
typestring''消息类型
Returns

string

格式化后的消息内容

Example
ts
const logger = createLogger('Module')

logger.format('这是一个普通消息')
// => '[Module]: 这是一个普通消息'

logger.format('这是一个警告', 'warn')
// => '[Module warn]: 这是一个警告'

logger.format('这是一个错误', 'error')
// => '[Module error]: 这是一个错误'
info()

info: (msg, ...args) => void

输出一条普通信息,同 console.info

Parameters
ParameterTypeDescription
msgstring消息内容
...argsany[]额外参数
Returns

void

sub()

sub: (subModule) => { format: (msg: string, type?: string) => string; info: (msg: string, ...args: any[]) => void; warn: (msg: string, ...args: any[]) => void; error: (msg: string, ...args: any[]) => void; sub: (subModule: string) => ...; }

创建子模块日志记录器

Parameters
ParameterTypeDescription
subModulestring子模块名
Returns

{ format: (msg: string, type?: string) => string; info: (msg: string, ...args: any[]) => void; warn: (msg: string, ...args: any[]) => void; error: (msg: string, ...args: any[]) => void; sub: (subModule: string) => ...; }

子模块日志记录器

warn()

warn: (msg, ...args) => void

输出一条警告信息,同 console.warn

Parameters
ParameterTypeDescription
msgstring消息内容
...argsany[]额外参数
Returns

void

Example

ts
const logger = createLogger('Module A')

logger.info('这是一条普通消息')
// => '[Module A]: 这是一条普通消息'

logger.warn('这是一条警告')
// => '[Module A warn]: 这是一条警告'

logger.error('这是一条错误')
// => '[Module A error]: 这是一条错误'

// 自定义消息格式化器
const logger2 = createLogger('Module A', (module, subModule, msg, type) => {
  if (type) type = ` - ${type}`
  const modulePath = subModule ? `${module}.${subModule}` : module;
  return `[${modulePath + type}]: ${msg}`
})

logger2.info('这是一条普通消息')
// => '[Module A - error]: 这是一条普通消息'

// 子模块
const subLogger = logger2.sub('SubModule')
subLogger.info('这是一条子模块消息')
// => '[Module A.SubModule]: 这是一条子模块消息'