Logger
BasaltLogger
BasaltLogger
est une classe qui vous permettra d'enregistrer des stratégies de log pour votre application ainsi de loguer des messages.
Ajout d'une strategie de log
Suppression d'une strategie specifique de log
Suppression de toutes les strategies de log
Création d'une strategie de log
import { appendFile } from 'fs/promises';
import { BasaltLogger, LoggerStrategy, LogLevels} from '@basalt-lab/basalt-logger';
class FileLoggerStrategy implements LoggerStrategy {
public log(level: LogLevels, date: Date, object: unknown): void {
const prefixDate = `[${date.toISOString().replace(/T/, ' ').replace(/\..+/, '')}]`;
const sanitizedObject: string = typeof object === 'string' ? object : JSON.stringify(object);
const message = `${prefixDate} ${level} : ${sanitizedObject}`;
await appendFile(this._path, `${message}\n`);
}
}
const logger = new BasaltLogger();
logger.registerStrategy('file', new FileLoggerStrategy());
logger.log('Hello World');
Ajout de plusieurs strategies de log
Tout les niveaux de log
import { BasaltLogger, ConsoleLoggerStrategy } from '@basalt-lab/basalt-logger';
const logger = new BasaltLogger();
logger.registerStrategy('console', new ConsoleLoggerStrategy());
logger.log('hello world');
logger.info('hello world');
logger.debug('hello world');
logger.warn('hello world');
logger.error('hello world');
Log sur une strategie specifique
import { BasaltLogger, ConsoleLoggerStrategy, FileLoggerStrategy} from '@basalt-lab/basalt-logger';
const logger = new BasaltLogger();
logger.registerStrategies([
['console', new ConsoleLoggerStrategy()],
['file', new FileLoggerStrategy('log.txt')]
]);
logger.log('console strategy', ['console']);
logger.log('file strategy', ['file']);
logger.log('console and file strategy', ['console', 'file']);
logger.log('all strategies');