Tôi đã lớp sauĐưa Logger.info trong khối tĩnh
public class MyClass
{
private static final Logger logger = Logger.getLogger(MyClass.class);
static
{
logger.info("some text");
}
}
Có an toàn khi cho rằng vào thời điểm chúng ta đạt logger.info
, hệ thống log4j được khởi tạo và đã sẵn sàng để phát ra các bản ghi?
Dường như nếu tôi có thể thực hiện Logger.getLogger()
và lấy lại bản sao Logger hợp lệ, điều đó có nghĩa là Log4j được khởi tạo, phải không?
Dường như khi sử dụng SLF4j, không đảm bảo rằng log4j cũng đã sẵn sàng. – Timo
@Timo Không, nó không phải, ít nhất là không với gói slf4j-api một mình. Bạn cần một gói với lớp StaticLoggerBinder; ví dụ slf4j-log4j12. – MaDa
Và nếu bạn có slf4j-log4j12 trên classpath thì nó có được đảm bảo không? – Timo