我一直很想知道爲什麼log4j在沒有log4j.properties時默認輸出錯誤消息。 stdout或stderr的合理默認值會更有意義。有沒有關於這個地方的常見問題解答或討論,表明此決定背後的推理?我一直認爲這是log4j比其他日誌替代方案更糟糕的唯一事情。爲什麼log4j默認輸出「No appenders could be found」消息而不是輸出到stdout?
2
A
回答
0
假設您在fds 0,1和2關閉的情況下使用log4j(這會導致寫入(2)與EBADF一起失敗)或重定向到/ dev/null。然後log4j嘗試輸出日誌消息。在這種情況下會發生什麼?你會有一個沉默的失敗,這是你想避免在日誌庫中不惜一切代價發生的事情。
+0
這當然是一個有效的關注點,但不是輸出到stderr的「No appenders」消息?無論appender消息還是實際錯誤發送到stderr,它都會保持沉默。 – HappyEngineer 2010-01-21 19:55:19
相關問題
- 1. Make:command could not be found
- 2. 爲什麼wget輸出到stderr而不是stdout?
- 3. 默認輸出,當H:消息是空
- 4. '輸出到stdout'是什麼意思
- 5. 輸出自定義錯誤消息而不是默認的php錯誤消息
- 6. printf不輸出到標準輸出,而是輸出到函數。爲什麼?
- 7. trollop輸出文件默認使用stdout
- 8. 輸出不是STDOUT
- 9. 爲什麼輸出2,0而不是2,3?
- 10. Log4J2和ApachePDFBox出現錯誤消息「No appenders」
- 11. 什麼是Matlab的默認顯示功能輸出到文件而不是標準輸出的等價物?
- 12. 導入flash.net.SecureSocket拋出錯誤「Definition XXX could not be found」
- 13. DNN(DotNetNuke)網站項目拋出錯誤「Install.aspx could not be found」
- 14. 爲什麼不打印到標準輸出(stdout)?
- 15. 爲什麼我的cfgrid輸出true/false而不是單詞yes/no
- 16. 爲什麼Susy給出49.15254%的輸出CSS而不是50%?
- 17. 爲什麼這個程序的輸出不是我認爲的
- 18. 爲什麼我的輸出轉到cout而不是文件?
- 19. 爲什麼找不到腳本輸出到標準輸出?
- 20. 爲什麼輸出是yyxz?
- 21. 爲什麼輸出是5?
- 22. 爲什麼是responseText輸出?
- 23. 爲什麼這是輸出?
- 24. Python:爲什麼在程序輸出之前收到RESTART消息?
- 25. 如果輸出使用++ x而不是x ++,那麼輸出是什麼?
- 26. 爲什麼我在無效輸入後得到默認輸出0?
- 27. 爲什麼輸出不同?
- 28. 爲什麼輸出不同?
- 29. PHP輸出消息
- 30. 什麼是輸出?
只有一個人可以回答這個問題,而他並不居住在so.com。 – bmargulies 2010-01-21 01:12:06
這裏的默認行爲被打破,同意。 – javadba 2013-10-31 01:14:23