0.1.1 • Published 3 years ago

yyl-ssr-logger v0.1.1

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

yyl-ssr-logger

用于 yyl-ssr 项目 服务端 日志收集

安装

# yarn
yarn add yyl-ssr-logger

# npm
npm i yyl-ssr-logger --save

使用

import path from 'path'
import { Log, LogType } from 'yyl-ssr-logger'
const iLog = new Log({
  logPath: path.join(__dirname, 'log')
})
iLog.log({ type: LogType.Info, path: '/path/to/request', args: ['hello worl'] })

types

直接看 types 吧

/** 日志类型 */
export declare enum LogType {
  Info = 'info',
  Warn = 'warn',
  Error = 'error',
  Success = 'success',
  System = 'system'
}
/** 日志初始化配置 */
export interface LogOption<T> {
  /** 日志保存路径 */
  logPath?: string
  /** 运行日志存储上限 */
  runtimeLimitSize?: number
  /** 日志写入间隔 */
  writeInterval?: number
  /** 运行日志名称 */
  runtimeFilename?: string
  /** 错误日志名称 */
  errorFilename?: string
  /** 打印日志 */
  verbose?: boolean
  /** 格式化函数 */
  formatter?: (log: T & LogFormatOption) => string
  /** 日志分隔符 */
  logSep?: string
  /** debug 日志输出接受函数 */
  logger?: (type: LogType, args: any[]) => void
}
/** log 属性用 types */
export declare type LogProperty<T> = Required<LogOption<T>>
/** 日志入参 */
export interface LogArgu {
  /** 日志类型 */
  type?: LogType
  /** 请求路径 */
  path?: string
  /** 日志内容 */
  args: any[]
}
/** 日志 formatter 额外的参数 */
export interface LogFormatOption extends Required<LogArgu> {
  date: string
}
/** 日志对象 */
export declare class Log<T = {}> {
  /** 日志缓存 */
  private logCache
  /** interval key */
  private intervalKey
  /** 运行日志目录 */
  private runtimeLogPath
  /** 错误日志目录 */
  private errorLogPath
  /** 日志存储路径 */
  private logPath
  /** log 大小上限 */
  private runtimeLimitSize
  /** 日志写入间隔 */
  private writeInterval
  /** 打印日志 */
  private verbose
  /** 运行日志文件名 */
  private runtimeFilename
  /** 错误日志文件名 */
  private errorFilename
  /** 日志分隔符 */
  private logSep
  /** 日志解析器 */
  private formatter
  /** debug 日志接收器 */
  private logger
  constructor(option?: LogOption<T>)
  /** 日志记录 */
  log(op: T & LogArgu): void
  /** 日志写入操作 */
  private writer
  /** 日志清除 */
  clear(): void
}