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]: 这是一条子模块消息'