@shirtiny/logger
Version:
Simple console log with css, write in typescript.
51 lines (50 loc) • 1.87 kB
TypeScript
import { Shape } from "./../style/shape";
import { BaseLogger, IBaseLoggerOption, ILogGroup, ILogGroupEnd, ILogTime, ILogTimeStep, ILogTimeEnd, ILogTrace } from "./baseLogger";
import { ILog } from "./baseLogger";
export type TitlePairs = {
str: string;
style?: string;
}[];
export type LoggerOptionParam = {
enable?: boolean;
log?: ILog;
logGroup?: ILogGroup;
logGroupCollapsed?: ILogGroup;
logGroupEnd?: ILogGroupEnd;
logTime?: ILogTime;
logTimeStep?: ILogTimeStep;
logTimeEnd?: ILogTimeEnd;
logTrace?: ILogTrace;
level?: number;
shape?: Shape;
isCollapsed?: boolean;
};
export declare class LoggerOption implements IBaseLoggerOption {
enable?: boolean;
log?: ILog;
logGroup?: ILogGroup;
logGroupCollapsed?: ILogGroup;
logGroupEnd?: ILogGroupEnd;
logTime?: ILogTime;
logTimeStep?: ILogTimeStep;
logTimeEnd?: ILogTimeEnd;
logTrace?: ILogTrace;
level?: number;
shape?: Shape;
isCollapsed?: boolean;
constructor(param?: LoggerOptionParam);
}
export declare class Logger extends BaseLogger {
private loggerOption;
constructor(options?: LoggerOption);
setLoggerOption(option: LoggerOption): void;
getLoggerOption(): LoggerOption;
setLevel(level: number): void;
isLevelAllowed(level: number): boolean;
protected customFormat(level: number, pairs: TitlePairs, ...data: any[]): void;
protected formatLog(level: number, title: string, message: string, titleCss: string, messageCss: string, ...data: any[]): void;
protected formatGroup(level: number, label: string | TitlePairs, logs: () => void): void;
protected formatTiming(level: number, label: string, logs: (step: (...data: any[]) => void) => any, stepSplit?: string): Promise<void>;
protected formatTrace(level: number, ...data: any[]): void;
}
export default Logger;