Chúng tôi đang tìm kiếm để sử dụng SLF4J, nhưng có một điều chúng ta thấy được rằng bạn không thể xác định mức độ như một cuộc tranh cãi, tức làSLF4J cấp độ nhật ký như một cuộc tranh cãi
Logger.log(Level.INFO, "messsage");
Bạn phải làm điều này
logger.info("message");
điều này ngăn không cho có thể truyền mọi thứ thông qua một phương pháp, vì vậy bạn có thể tack các thuộc tính khác cho tất cả các thông điệp tường trình trong một lớp.
public class Test
{
public Test(SomeObj obj)
{
log(Level.INFO, "message");
}
public void anotherMethod()
{
log(Level.DEBUG, "another message");
}
private void log(Level level, String message)
{
logger.log(level, message + obj.someString());
}
}
Có cách nào để đạt được điều này bằng SLF4j không?
chuỗi ký tự "INFO" và "DEBUG" và sử dụng phản chiếu để gọi đúng phương pháp - chỉ cần đùa! – irreputable
Thật vậy nó rất thiển cận và hối hận rằng hầu hết (có lẽ tất cả) logger đương đại vẫn theo mô hình cổ xưa – matanster