본문 바로가기
728x90
반응형

Java23

log4j2 variable UNDEFINED log4j2를 사용하다보면, log4j2에서 사용한 변수들을 System.properties를 통하여 주입하지 않은 경우 해당 값을 인식하지 못하여 UNDEFINED를 발생하게 된다.해당 포스팅에서는 logPath를 지정하지 못한 경우 발생하는 logPath_IS_UNDEFINED라는 폴더가 생성되는데, 이를 처리하는 다양한 방식들에 대하여 포스팅해보고자 한다.상황log4j2.xml을 통하여 log를 작성해야함log4j2.xml에는 logPath를 지정하는 appender와 지정하지 않은 appender가 존재함logPath를 지정하지 않는 appender만 사용해야 하는 상황이 존재함1. log4j2.xml 2개logPath를 지정하는 경우에는 log4j2-logPath.xml이라는 파일을 만들고 해당.. 2025. 2. 25.
logback to log4j2 Spring boot를 사용하면서, logback에서 log4j2로 변경하게 되었습니다.  org.springframework.boot spring-boot-starter-web ${spring.version} org.springframework.boot spring-boot-devtools ${spring.version}다음과 같이 Spring boot를 사용하고 있는 상황에서 logback으로 프로젝트를 진행하고 있었습니다. 그러다 log4j2를 사용하게 변경하고자 하여, Spring boot starter web의 의존성중 하나인 spring boot starter logging을 exclusion처리한 후, log4j2를 직접 가져와 사용하기로 하였습니다.  org.springframework.b.. 2025. 2. 23.
순서가 보장되는 map과 set java에는 Map과 Set으로 HashMap과 HashSet, TreeMap과 TreeSet이 있습니다.cpp에는 같은 효과를 내는 unordered_map과 unordered_set, map과 set이 있습니다. 이 모든 map과 set은 순서를 보장하지 않죠. 알고리즘 문제를 풀거나, 프로젝트를 개발하다보면순서가 보장되면서, key값이 중복되지 않는 것들을 추려야 하는 경우가 발생합니다. 이런 경우 LinkedHashMap과 LinkedHashSet이라는 라이브러리 함수를 통해 진행이 가능합니다. LinkedHashSet set = new LinkedHashSet();set.add(1);set.add(2); System.out.print(set);다음과 같이 사용할 수 있으며, 결과는 다음과 같습.. 2024. 8. 25.
startsWith, endsWith 무조건 좋은가 java에는 A라는 문자열의 맨앞에 B라는 문자열이 prefix(접두사)로 있는지 체크하는 함수인 startsWith가 있습니다.또한 A라는 문자열의 맨 뒤에 B라는 문자열이 suffix(접미사)로 있는지 체크하는 함수인 endsWith가 있습니다.여기서 하나의 궁금증이 생깁니다."문자열 : 문자열" 비교가 아닌 "문자열 : 문자" 비교인 경우에 startsWith나 endsWith보다 charAt()가 더 좋지 않을까?라는 의문을 가지고 테스트에 들어갔습니다.테스트 소스public class Main { static String s = ""; static int size = 1000000000; public static void main(String[] args) { Sys.. 2024. 8. 17.
728x90
반응형