我繼承了成千上萬行的代碼庫和幾個庫,這些庫打印出多行垃圾(均來自普通函數和導入的庫,以及來自測試功能和庫)到控制檯上,當我運行一個go test
。這使得測試成爲一場噩夢,因爲我的印刷聲明和錯誤在一堆垃圾中迷失了。Golang:查找將輸出打印到標準輸出的文件名和行號
是否有一種簡單的方法來識別和輸出文件名和行號,以便在控制檯上進行任何類型的打印,以便我可以將這些吸盤靜音?
我繼承了成千上萬行的代碼庫和幾個庫,這些庫打印出多行垃圾(均來自普通函數和導入的庫,以及來自測試功能和庫)到控制檯上,當我運行一個go test
。這使得測試成爲一場噩夢,因爲我的印刷聲明和錯誤在一堆垃圾中迷失了。Golang:查找將輸出打印到標準輸出的文件名和行號
是否有一種簡單的方法來識別和輸出文件名和行號,以便在控制檯上進行任何類型的打印,以便我可以將這些吸盤靜音?
也許增加一些儀器到您的遺留代碼可能會有所幫助。
例如,spacemonkeygo/monkit
可以爲您添加trace graphs以至少從中識別生成這些日誌的位置。
如果消息是使用log
包裝印刷,你可以告訴它始終包含完整的文件路徑和行號的呼叫發生:
log.SetFlags(log.LstdFlags|log.Llongfile)