src/core/logger/AppLogger.ts
Properties |
|
Methods |
constructor(config: ConfigService)
|
||||||
Defined in src/core/logger/AppLogger.ts:17
|
||||||
Parameters :
|
Optional debug | ||||||
debug(message: any)
|
||||||
Defined in src/core/logger/AppLogger.ts:40
|
||||||
Parameters :
Returns :
void
|
error | ||||||
error(message: any)
|
||||||
Defined in src/core/logger/AppLogger.ts:34
|
||||||
Parameters :
Returns :
void
|
log | ||||||
log(message: any)
|
||||||
Defined in src/core/logger/AppLogger.ts:31
|
||||||
Parameters :
Returns :
void
|
Optional verbose | ||||||
verbose(message: any)
|
||||||
Defined in src/core/logger/AppLogger.ts:43
|
||||||
Parameters :
Returns :
void
|
warn | ||||||
warn(message: any)
|
||||||
Defined in src/core/logger/AppLogger.ts:37
|
||||||
Parameters :
Returns :
void
|
Public logger |
Type : Logger
|
Defined in src/core/logger/AppLogger.ts:17
|
import { Injectable, LoggerService } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { Logger, createLogger, format, transports } from 'winston';
enum WinstonLogLevel {
INFO = 'info',
ERROR = 'error',
WARN = 'WARN',
HTTP = 'HTTP',
VERBOSE = 'verbose',
DEBUG = 'debug',
SILLY = 'silly',
}
@Injectable()
export default class AppLogger implements LoggerService {
public logger: Logger;
constructor(config: ConfigService) {
const { combine, timestamp, label, printf } = format;
const customLoggerFormat = printf(
({ level, message, Label, Timestamp }: { level: string; message: string; Label: string; Timestamp: string }) => {
return `${Timestamp} [${Label}] ${level}: ${message}`;
}
);
this.logger = createLogger({
format: combine(label({ label: config.get('app.name') }), timestamp(), customLoggerFormat),
transports: [new transports.Console(), new transports.File({ filename: config.get('app.logFileName') })],
});
}
log(message: any) {
this.logger.log(WinstonLogLevel.INFO, message);
}
error(message: any) {
this.logger.log(WinstonLogLevel.ERROR, message);
}
warn(message: any) {
this.logger.log(WinstonLogLevel.WARN, message);
}
debug?(message: any) {
this.logger.log(WinstonLogLevel.DEBUG, message);
}
verbose?(message: any) {
this.logger.log(WinstonLogLevel.VERBOSE, message);
}
}