亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么當我將日志添加到 try 塊時,我可以在輸出文件中看到它?

為什么當我將日志添加到 try 塊時,我可以在輸出文件中看到它?

忽然笑 2022-05-12 15:46:37
我試圖提供一個記錄器文件輸出,我看到輸出文件中只顯示了一行 - 只有在 try catch 塊內的那一行,其他的只是在控制臺上附上我的測試代碼public class Something {Logger logger = Logger.getLogger("");FileHandler fh;@BeforeEachpublic void wallad() {    System.out.println("hello");}@AfterEachpublic void asddf() {    System.out.println("pizza");}@Tag("test")@Testpublic void some() {    try {        fh = new FileHandler("C:\\MyLogFile.txt");        logger.addHandler(fh);        SimpleFormatter formatter = new SimpleFormatter();          fh.setFormatter(formatter);        logger.log(Level.SEVERE, "severe");------->only these                       will show at the output file        }         catch (Exception e) {        e.printStackTrace();        }    logger = Logger.getLogger(Logger.class.getName());    logger.setLevel(Level.FINEST);    ConsoleHandler handler = new ConsoleHandler();        handler.setLevel(Level.ALL);        logger.addHandler(handler);        logger.setUseParentHandlers(false);    System.out.println("test1");    logger.log(Level.WARNING, "warning");    System.out.println("test2");    logger.log(Level.INFO, "information");    System.out.println("test3");    logger.log(Level.SEVERE, "severe");    System.out.println("test4");    logger.log(Level.FINEST, "finest");    System.out.println("test5");    logger.log(Level.FINE, "fine");    System.out.println("test6");    logger.log(Level.FINER, "finer");    System.out.println("test7");    logger.log(Level.FINEST, "finest");}}我怎樣才能取出所有的日志文件?它不可能在 try catch 塊內
查看完整描述

2 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

通過將處理程序設置為 ConsoleHandler,您不再寫入文件,

ConsoleHandler handler = new ConsoleHandler();

刪除此行以繼續寫入您的文件

logger = Logger.getLogger(Logger.class.getName());


查看完整回答
反對 回復 2022-05-12
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

你正在創造一個好的新ConsoleHandlerConsoleHandler handler = new ConsoleHandler();。您還調用logger.addHandler(handler)which 會將其添加ConsoleHandler記錄器中。

如果不是因為您剛剛重新實例化了變量,這也會有:FileHandlerlogger

logger = Logger.getLogger(Logger.class.getName());

只需刪除此行,您logger將同時擁有FileHandlerConsoleHandler


查看完整回答
反對 回復 2022-05-12
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號