logger 2

간단하게 메서드 수행시간 로깅을 해보자! (feat. template callback, annotation)

간단하게 메서드 수행시간 로깅을 해보자! (feat. template callback, annotation)여기서는 그냥 메서드의 수행 시간을 파악하기 위한 예제이다.실제로는 다양한 곳에 활용이 가능하겠지.기본 세팅TestService.java@Servicepublic class TestService { public void doSomething() { System.out.println("류찬은 최고에요!!"); }}그냥 간단한 sout 하는 메서드를 만들고TestServiceTest.java@SpringBootTestclass TestServiceTest { @Autowired private TestService testService; @Test public..

logging - java에서 System.out.println()을 왜 사용하면 안될까??

logging - java에서 System.out.println()을 왜 사용하면 안될까?? 보통 현업에서 일할때에 절대 System.out.println()을 쓰지 말라는 말을 듣는다. -> 가급적 쓰지말자~ 가 아니라 절대다!! 대신 로깅을 진행할 때에는 주로 얼마전에 문제가 있었던 Log4j를 사용하고는 한다. 왜일까?? Sync문제 발생 한번 System.out.println()의 구현 코드를 살펴보도록 하자. 다양한 내부 코드들이 있는데, 이거는 보면 동작 과정에서 synchronized를 사용해서 동기화를 걸어준다.(writedln도 물론 synchronized가 걸려있는것을 확인 가능하다.) 즉, 해당 코드가 작동할 때에 다른 쓰레드는 작동이 불가능하다는 것이다!! 따라서 이 System.o..

이론 정리/java 2023.01.06