import { Body, Controller, Inject, Post, Request, UseGuards } from '@nestjs/common'; import { WINSTON_MODULE_PROVIDER } from 'nest-winston'; import { Logger } from 'winston'; import { OptionalJwtAuthGuard } from '../jwt-auth/optional-jwt-auth.guard.js'; import { LogMessage } from '../models/main.model.js'; @Controller('log') export class LogController { constructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) {} @UseGuards(OptionalJwtAuthGuard) @Post() log(@Request() req, @Body() message: LogMessage) { if (message.severity === 'info') { this.logger.info(message.text); } else { this.logger.error(message.text); } } }