我想爲我的所有日志添加前綴。我嘗試子類XCGLogger
覆蓋logln(...)
或debug(...)
函數。如何用XCGLogger前綴所有日誌
但我在使用本
- 編譯器總是給我的錯誤(見圖片)面臨兩個困難。
- 我不知道如何自定義給定的日誌消息,因爲參數是閉包。
感謝
我想爲我的所有日志添加前綴。我嘗試子類XCGLogger
覆蓋logln(...)
或debug(...)
函數。如何用XCGLogger前綴所有日誌
但我在使用本
感謝
好吧,我發現。我們需要定義一個符合LogFormatterProtocol
的class
或struct
,並實現format(logDetails: inout LogDetails, message: inout String) -> String
函數來修改inout消息。然後創建一個類或結構的實例,並把它添加到目的地格式化陣列:
let consoleDest = ConsoleDestination(owner: myLogger, identifier: "") // myLogger is an instance of XCGLogger
consoleDest.formatters = [MyFormatter()] // MyFormatter is a struct conforming to LogFormatterProtocol
myLogger.add(destination: consoleDest)
您在上面的代碼中已經有了問題,是你沒有說清楚的編譯器,其中的super.logln
您打電話的方法。由於該方法有多個版本,並且具有各種功能,其中一些功能有缺省設置,所以您需要明確包含足夠的參數供編譯器知道您要調用哪個版本。這就是爲什麼你的錯誤消息說「不明確...」
請在這裏添加功能請求:https://github.com/DaveWoodCom/XCGLogger/issues,我會添加它。無論如何,這是我想要添加的東西,只是在優先級列表中很低。 –