Java中使用Set记录API更新字段时如何实现日志多行输出
解决方案
修改日志输出逻辑,给每个字段添加指定后缀并通过换行符拼接即可:
修改后的代码
import java.util.stream.Collectors; // ... final var userModifiedFields = userUpdater.getUpdatedFields(); if (!userModifiedFields.isEmpty()) { // 为每个字段添加后缀,并用换行符拼接 String updatedLog = userModifiedFields.stream() .map(field -> { // 可根据字段名调整后缀大小写,匹配示例需求 return "FirstName".equals(field) ? field + " Updated" : field + " updated"; }) .collect(Collectors.joining("\n")); log.info("Updated Fields : \n" + updatedLog); } public Set<String> getUpdatedFields() { return updatedFields; }
关键改动说明
- 字段格式化:通过
map()方法给每个字段添加对应的后缀,实现[字段名] updated/Updated的格式 - 换行拼接:用
Collectors.joining("\n")将处理后的字段用换行符连接,实现分多行显示 - 日志开头换行:在"Updated Fields : "后添加
\n,让字段内容从新行开始展示
如果所有字段后缀统一用小写的"updated",可以简化map()逻辑为:
.map(field -> field + " updated")
内容的提问来源于stack exchange,提问作者dracile
相关产品推荐
相关产品推荐

