英文:
Merge all httpHeader to single line
问题
我正在使用以下代码片段打印所有标头。
import org.springframework.http.HttpHeaders;
@RequestHeader HttpHeaders httpHeaders
httpHeaders.forEach((key,value) ->{
LOGGER.info("Header Name: "+key+" Header Value: "+value);
});
有没有一种好的方法将所有内容放在一行?(我能想到的是使用StringBuilder)(我的意图是减少日志记录)
英文:
I am using the below snippet to print all headers.
import org.springframework.http.HttpHeaders;
@RequestHeader HttpHeaders httpHeaders
httpHeaders.forEach((key,value) ->{
LOGGER.info("Header Name: "+key+" Header Value: "+value);
});
is there a good way to put all to single line? (StringBuilder I can think of) (My intention is to reduce logging)
答案1
得分: 1
你可以在forEach
的主体中使用StringBuilder
的append
方法,或者可以使用以下方式:
String logString = httpHeaders.entrySet().stream()
.map(e -> "Header Name: " + e.getKey() + " Header Value: " + e.getValue())
.collect(Collectors.joining(", ")); // 在这里选择任何分隔符
LOGGER.info(logString);
希望这对你有所帮助。
英文:
You can use call StringBuilder
's append
in the body of the forEach
, alternatively use
String logString = httpHeaders.entrySet().stream()
.map(e -> "Header Name: "+e.getKey()+" Header Value: "+e.getValue())
.collect(Collectors.joining(", ")); //choose any separator here
LOGGER.info(logString);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论