Tôi đang làm việc trên một dự án có mã cũ đã sử dụng Log4J trong quá khứ và hiện đang sử dụng SLF4J. Hầu hết các câu lệnh ghi log4J kiểu cũ vẫn còn, và tôi chuyển đổi các câu lệnh log từ từ sang kiểu SLF4J mới khi tôi bắt gặp chúng.IntelliJ: Có một hành động ý định để chuyển đổi các cuộc gọi Log4J kiểu cũ sang các cuộc gọi SLF4J kiểu mới?
Tôi vừa mới nhận ra rằng cách nhấn Alt + Nhập khi trong các báo cáo log kiểu cũ mang lại cho tôi các tùy chọn sau (tiếc là tôi không thể tải lên một ảnh chụp màn hình):
- Sao chép String nối văn bản để clipboard
- ngôn ngữ Tiêm hoặc tham chiếu
- Thay thế '+' với 'String.format()'
- Thay thế '+' với 'StringBuilder.append()'
- Thay thế '+' với 'java.test.MessageFormat.format()'
Tùy chọn Replace '+' with 'String.format()'
rất gần với những gì tôi cần, mặc dù tôi không cần các bit String.format(
.
Có điều gì đó sẽ cho tôi một hành động có ý định không: Replace Log4J style log statement with SLF4J style log statement
?
Như một ví dụ về phong cách khai thác gỗ cũ (ví dụ Log4J), ý tôi là:
LOGGER.debug("User " + user.getUserId() + " has performed a search with the criteria " + dto);
Và bởi phong cách mới tôi muốn nói:
LOGGER.debug("User {} has performed a search with the criteria {}", user.getUserId(), dto);
AFAIK không có –
Intellij có cấu trúc thay thế có thể giúp bạn (nhưng tôi chưa sử dụng đủ để giúp bạn hiểu rõ hơn ở đây): https://www.jetbrains.com/idea/documentation/ssr. html –
@WimDeblauwe Nó chắc chắn sẽ giúp bạn! Cảm ơn bạn. – vegemite4me