Tôi đã có một thiết lập đơn giản để ghi lại một thông điệp: JDK 8 Update 65
và Eclipse Mars
Tại sao java.util.logging.Logger in ra stderr?
import java.util.logging.Logger;
public class Example {
private final static Logger LOGGER = Logger.getLogger(Example.class.getName());
public static void main(String[] args) {
LOGGER.info("Test");
}
}
tôi mong chờ để có được một sản lượng trên stdout
, cũng giống như sử dụng System.out.println();
.
Nhưng thay vì nó được in ra trên stderr
, mà kết quả trong một phông chữ màu đỏ trên eclipse console:
tôi biết rằng tôi có thể thay đổi hành vi này bằng cách viết một tùy chỉnh Handler
, nhưng tôi muốn biết lý do tại sao đầu ra mặc định xuất hiện trên stderr
thay vì stdout
?
Trình ghi nhật ký nên sử dụng stdout
cho fine
+ info
và sử dụng stderr
cho mức severe
.
Bạn có nguồn hoặc bằng chứng cho tuyên bố này không? –
Xin lỗi, tôi cần phải cung cấp nó trong bình luận :) https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaLogging.html –
Rằng logger nào đã được biết đến bởi OP, câu hỏi là: "tại sao". – Tom