카테고리 없음

#106. 로깅, Spring Boot

열하나요 2023. 12. 6. 09:56

Spring Boot는 로깅되는 게 이쁘게 잘 나옴

=> Spring은?

보통 Spring에서는 System.out.println으로 에러를 찾는데,

이렇게 하게 되면 쓸 데 없는 문자열을 사용하게 됨

Spring에 pom.xml을 보면 로깅하는 Slf4j라는 인터페이스가 있음

<!-- Logging -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${org.slf4j-version}</version>
</dependency>

 

@Slf4j 애노테이션을 달고 log.info()를 쓰면 어디에서 찍혔는지도 같이 나옴

@Controller
@Slf4j
public class BoardController {
	
	@RequestMapping("list.bo")
	public String selectList(@RequestParam(value="cPage", defaultValue="1") int currentPage,
																			Model model) {
		
		// System.out.println(currentPage);
		log.info("얘다");
		PageInfo pi = Pagination.getPageInfo(boardService.selectListCount(),currentPage, 5, 5);
		log.info("페이지인포={}", pi);

=> 출력결과 : 

INFO : com.kh.spring.board.controller.BoardController - 얘다
INFO : com.kh.spring.board.controller.BoardController - 페이지인포=PageInfo(listCount=20, currentPage=1, boardLimit=5, pageLimit=5, maxPage=4, startPage=1, endPage=4)

 

 

 

아이돌 Controller

@RestController // 비동기 요청만 받을거임 (JSON타입만 돌려줄거임)
@CrossOrigin("*") // 다른 포트에서 오는 요청을 받겠음
@RequestMapping("/idol")
@RequiredArgsConstructor
public class IdolController {
	
	private final IdolService idolService;
	
	@GetMapping
	public ResponseEntity<List<Idol>> selectAll(){
		List<Idol> idolList = idolService.selectAll();
		HttpHeaders header = new HttpHeaders();
		header.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
		return new ResponseEntity<List<Idol>>(idolList, header, HttpStatus.OK);
	}
	
	@PostMapping
	public ResponseEntity<String> insert(@RequestBody Idol idol){
		String result = idolService.insert(idol) != 0 ? "success" : "fail";
		HttpHeaders header = new HttpHeaders();
		header.setContentType(new MediaType("text", "html", Charset.forName("UTF-8")));
		return new ResponseEntity<String>(result, header, HttpStatus.OK);
	}
	
	@DeleteMapping("/{id}")
	public ResponseEntity<String> deleteById(@PathVariable(name="id") String id){
		String result = idolService.deleteById(id) != 0? "success" : "fail";
		HttpHeaders header = new HttpHeaders();
		header.setContentType(new MediaType("text", "html", Charset.forName("UTF-8")));
		return new ResponseEntity<String>(result, header, HttpStatus.OK);
	}

아이도루 끝

 

 

게시판