728x90
레거시 코드를 확인하다가 특이한 코드를 발견해서 기록 차원에서 남겨 본다.
@Test
public void logTest() {
Map<String, String> map = new HashMap<>();
map.put("key1", "data1");
map.put("key2", "data2");
map.put("key3", "data3");
logger.info("map={}, secondData={}", new Object[]{map, "thisisseconddata"});
// Output :
// map={key1=data1, key2=data2, key3=data3}, secondData=thisisseconddata
logger.info("map={}, secondData={}", map, "thisisseconddata");
// Output :
// map={key1=data1, key2=data2, key3=data3}, secondData=thisisseconddata
System.out.println("map=" + new Object[]{map, "thisisseconddata"});
// Output :
// map=[Ljava.lang.Object;@2dcd168a
}
첫번째 logger.info() 에서는 new Object 로 배열을 만들어서 map, String 객체를 출력하고 있다. 두번째 info() 와 출력되는거랑 차이가 전혀 없다. info() 소스를 분석해보면 동작 방식을 알거 같다.
'Engineering > Java' 카테고리의 다른 글
The POM for com.microsoft.sqlserver:sqljdbc4:jar:4.0 is missing, no dependency information available (0) | 2020.10.28 |
---|---|
gradle multi build for war (0) | 2020.10.05 |
log4j2 , logback 설정 (0) | 2020.06.29 |
InteliJ 설치 후 Lombok 설정 (0) | 2019.11.06 |
CompletableFuture 기능 살펴보기 (0) | 2019.08.23 |