로깅은 애플리케이션 문제 해결의 오랜 역사와 관찰 가능성의 세 가지 주요 요소(메트릭, 트레이스와 함께) 중 하나입니다. 운영 환경에서 아무런 정보 없이 문제를 해결하기는 어려우며, 장애가 발생했을 때 개발자들은 로그 파일이 있는 것을 반가워합니다. 로그는 주로 사람이 읽을 수 있는 형식으로 작성됩니다. 구조화된 로깅은 로그 출력을 잘 정의된, 종종 기계가 읽을 수 있는 형식으로 작성하는 기술입니다. 이러한 형식은 로그 관리 시스템에 입력되어 강력한 검색 및 분석 기능을 가능하게 합니다. 구조화된 로깅에 가장 일반적으로 사용되는 형식 중 하나는 JSON입니다. Spring Boot 3.4에서는 기본적으로 구조화된 로깅을 지원합니다. Elastic Common Schema (ECS)와 Logstash 형식..
spring.threads.virtual.enabled=true spring docs에서는 애플리케이션에 이 옵션을 켜기 전에 공식 Java 가상 스레드 설명서를 읽어보시기 바랍니다 라고 쓰여져있다. WarningOne side effect of virtual threads is that they are daemon threads. A JVM will exit if all of its threads are daemon threads. This behavior can be a problem when you rely on @Scheduled beans, for example, to keep your application alive. If you use virtual threads, the scheduler ..
스프링 MVC의 @RequestParam 이 애노테이션이 나를 정말 궁금하게 했다. 내가 이해하기로는 클라이언트가 요청한 URL의 쿼리 파라미터에 대한 값을 받아온다고만 알고 있었다. 그리고 스프링 MVC에서 @RequestMapping의 GET 메서드 또는 @GetMapping에서만 사용할 수 있다고 생각하고 있었다. 즉 localhost:8080?username=myname&age=33 이런 식으로 URL이 있다고 하면 @Slf4j @Controller public class HelloController { @ResponseBody @GetMapping("/hello") public String hello(@RequestParam String username, @RequestParam int age)..
스프링 빈을 등록하는 애노테이션 Configuration과 Component의 차이점이 궁금해서 찾아보다가 이해가 잘 안되는 글들이 많았음. 대부분 아래와 같은 설명을 해놈 @Component - 개발자가 직접 작성한 클래스를 빈으로 등록하고 싶을 때 사용 @Configuration - 개발자가 직접 제어가 불가능한 외부 라이브러리 또는 설정을 위한 클래스를 Bean으로 등록할 때 사용 뭔가 이해가 안됨. 그런데 이거보고 좀 이해가 되는거 같아서 링크 공유 https://m.blog.naver.com/sthwin/222131873998 @Configuration vs @Component 출처: http://dimafeng.com/2015/08/29/spring-configuration_vs_compone..
애플리케이션을 실행할 때 특정 코드를 실행하고 싶을때 CommandLineRunner 와 ApplicationRunner를 사용한다. CommnadLineRunner /** * Interface used to indicate that a bean should run when it is contained within * a {@link SpringApplication}. Multiple {@link CommandLineRunner} beans can be defined * within the same application context and can be ordered using the {@link Ordered} * interface or {@link Order @Order} annotation. * *..
@Controller 어노테이션은 클래스레벨에서 사용되며 @Controller 어노테이션이 붙은 클래스는 SpringMVC에서 웹 요청을 처리하는 컨트롤러로 사용할 수 있다. @RequestMapping 어노테이션은 Spring MVC 에서 클라이언트의 요청을 클래스 또는 메소드에 HTTP method를 맵핑할 때 사용하는 어노테이션이다. @Controller public class SampleController{ @RequestMapping(value="/event", method=RequestMethod.GET) public String eventList(){ return "event"; } } 간단한 컨트롤러를 만들어보았다. event 요청을 HttpMethod.Get으로 받는 eventList 메..
spring-core.jar 에 org.springframework.util 패키지 밑에는 개발에 도움이 되는 여러 클래스들이 있다. 그 중에 StringUtils라는 추상클래스가 있는데 이 클래스는 String을 다루는데 편리한 기능들이 몇개 있는 것 같아서 정리해본다. 실제로 들어가서 소스를 보면 도움이 많이 될 것 같다. @Deprecated는 제외 메서드 위에 친절히 어떻게 사용하는지 설명도 되어있고 예제도 있다. 보통 개발하다가 만들어야 될 공통 함수들이 웬만한 것은 정의되어 있는 것 같다. hasLength hasLength 메서드는 자료형으로 char 나 String을 받을 수 있게 오버로딩 되어있는데 단순히 파라미터가 null 이거나 "" 비어있는 문자 일경우 false를 반환하고 나머지 ..
- Total
- Today
- Yesterday
- LocalDate
- k8s
- Mac
- jQuery
- elasticsearch
- rocky
- 베리 심플
- JavaScript
- Github Status
- Kotlin
- input
- oracle
- window
- svn
- mybatis config
- Linux
- Spring
- 북리뷰
- intellij
- localtime
- maven
- config-location
- mybatis
- Java
- Spring Security
- springboot
- LocalDateTime
- 오라클
- docker
- Bash tab
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |