UNPKG

@ts-ioc/logs

Version:

tsioc is AOP, Ioc container, via typescript decorator

65 lines (64 loc) 1.73 kB
import { Level } from '../Level'; import { Express, TypeMetadata, IClassMethodDecorator, ClassMethodDecorator } from '@ts-ioc/core'; /** * logger metadata. * * @export * @interface LoggerMetadata * @extends {TypeMetadata} */ export interface LoggerMetadata extends TypeMetadata { /** * set the special name to get logger from logger manager. * * @type {string} * @memberof LoggerMetadata */ logname?: string; /** * log level */ level?: Level; /** * only match express condition can do loging. * * @type {Express<any, boolean>} * @memberof LoggerMetadata */ express?: Express<any, boolean>; /** * set special message to logging * * @type {string} * @memberof LoggerMetadata */ message?: string; } /** * Logger decorator, for method or class. * * @Logger * * @export * @interface ILoggerDecorator * @extends {IClassMethodDecorator<T>} * @template T */ export interface ILoggerDecorator<T extends LoggerMetadata> extends IClassMethodDecorator<T> { /** * define logger annotation pointcut to this class or method. * @Logger * * @param {string} [logname] set the special name to get logger from logger manager. * @param {Express<any, boolean>} [express] only match express condition can do logging. * @param {string} [message] set special message to logging. * @param {Level} [level] set log level to this message. */ (logname?: string, express?: Express<any, boolean>, message?: string, level?: Level): ClassMethodDecorator; } /** * Logger decorator, for method or class. * * @Logger */ export declare const Logger: ILoggerDecorator<LoggerMetadata>;