* 현업에서는 기능구현 -> 로그 구현 식으로 진행합니다.
* 시작시 로그남기기
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const port = 3000;
await app.listen(3000);
Logger.log(`Application running on port ${port}`);
}
bootstrap();
* 컨트롤러
1. 멤버변수로 logger 생성
@Controller('boards')
@UseGuards(AuthGuard())
export class BoardsController {
private logger = new Logger('BoardController');
constructor(private boardsService : BoardsService) { }
@Get()
getAllBoard(@GetUser() user : User){
this.logger.verbose(`User ${user.username} trying to get all boards`);
return this.boardsService.getAllBoards(user);
}
@Post()
@UsePipes(ValidationPipe)
createBoard(@Body() createBoardDto : CreateBoardDto, @GetUser() user : User) : Promise<Board> {
this.logger.verbose(`User ${user.username} creating a new board, Payload : ${createBoardDto}`);
return this.boardsService.createBoard(createBoardDto, user);
}
* 문제 : 터미널에서는 JSON 출력이안됨!!
* 해결 : 직렬화 (string으로 만들기)
@Post()
@UsePipes(ValidationPipe)
createBoard(@Body() createBoardDto : CreateBoardDto, @GetUser() user : User) : Promise<Board> {
this.logger.verbose(`User ${user.username} creating a new board, Payload : ${JSON.stringify(createBoardDto)}`);
return this.boardsService.createBoard(createBoardDto, user);
}
'JS > Nest.js' 카테고리의 다른 글
[Nest] Dependency Injection 의존성 주입 (0) | 2024.09.17 |
---|---|
[Nest JS] 환경변수 설정 / configuration property is not defined 해결 / github 캐시 지우는법 (0) | 2024.08.19 |
[Nest JS] 자신이 생성한 게시물만 삭제 (0) | 2024.08.19 |
[Nest JS] 특정 유저의 게시물 가져오기 (0) | 2024.08.19 |
[Nest JS] 유저-게시글의 관계 형성, 게시글 생성시 유저정보 추가 (0) | 2024.08.19 |