我是 MacOS 的新手。制作.app應用程式后,我即將添加日志記錄功能,但想知道我應該使用哪個目錄。我發現以下是保存日志檔案的常見方法,但它們有何不同,哪一個是最好的?
- ?/圖書館/日志
- /圖書館/日志
- /private/var/log
uj5u.com熱心網友回復:
簡短的回答:這取決于您的軟體是什么以及它正在記錄什么。對于創建自己的日志的 .app,~/Library/Logs 幾乎可以肯定是最好的地方。但是,如果您要記錄有關您的應用程式的除錯/跟蹤資訊,請改用Apple 的統一日志記錄系統。
長答案:第一個相關區別是記錄的事件是否與作為開發人員的您相關,或者與運行應用程式的實際用戶相關。如果適合您,請使用 Apple 的統一日志記錄。
下一個相關區別是日志是與整個系統相關,還是僅與運行軟體的單個用戶相關。您可能將 macOS 用作單用戶作業系統,但它的組織方式使多個用戶可以共享同一臺計算機。所以問問自己:這個日志應該對計算機上的所有用戶(或者可能只是管理員)可見,還是只對實際使用該軟體的用戶可見?如果每個用戶都應該只看到自己的日志歷史記錄,那么它顯然屬于用戶的主檔案夾,所以 ~/Library/Logs 是正確的位置。
一個相關的問題是普通用戶無權寫入 /Library/Logs 和 /var/log(又名 /private/var/log),因此以普通用戶身份運行的應用程式無法登錄到這些地方。
最后一個區別是你的軟體是 Mac-ish 還是 Unix-ish。macOS 有兩層,Unix 層和在此之上構建的 Mac 特定層。/Library/Logs 是非用戶特定日志的 Mac-ish 位置,而 /var/log 是類似的 Unix-ish 位置。這么說吧:如果您的程式安裝到 /Applications 中,那么您就是 Mac 世界的一部分,并且會使用 /Library/Logs 來記錄系統范圍的日志。另一方面,如果您的程式安裝到 /usr/local 或 /opt,那么您就是 Unix-ish 世界的一部分,應該使用 /var/log。
所以,總結一下:
- 面向開發人員的除錯和跟蹤資訊的統一日志記錄系統
- ~/Library/Logs 來自非系統軟體的面向用戶的資訊
- /Library/Logs 用于 Mac 系統范圍的事件日志記錄
- /var/log 用于 Unix-ish 系統范圍的事件日志記錄
順便說一句,統一的日志資訊實際上存盤在 /var/log 中。但不要以這種方式訪問??它——使用 API。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/407173.html
標籤:
