Marklogic日誌

Marklogic8對日誌的處理顯得有些粗暴,可以自定義的東西很少,大部分都在設計之初已經限定好了。
日誌文件有默認的存儲地址,在Windows環境下,默認位於C:\Program Files\MarkLogic\Data\Logs\ErrorLog.txt;如果不是按照默認安裝模式安裝的Marklogic,應該位於 <install_dir>/Logs/ErrorLog.txt。在Linux環境下,默認位於/var/opt/MarkLogic/Logs/ErrorLog.txt。在Sun Solaris環境下,默認位於/var/opt/MARKlogic/Logs/ErrorLog.txt。在Mac OS X環境下,默認位於~/Library/Application Support/MarkLogic/Data/Logs/ErrorLog.txt。
日誌的級別設置基於每一個group,默認情況下,group的日誌級別為Notice,而文件(ErrorLog.txt)的日誌級別為Info。可以使用Debug或以上級別去調試程序,但是高於Debug級別的設置會影響Marklogic的性能。

定義日誌xdmp:log

定義日誌的方法,可以簡單到只有一個參數。日誌信息在方法被調用時,便被記錄到文件,即使調用的程序未執行完成。

xdmp:log(
   $msg as item()*,
   [$level as xs:string?]
) as empty-sequence()

舉例:

xdmp:log("成功")

以上方法向ErrorLog.txt文件中寫入信息’成功’,使用了默認的日誌級別“info”。如果你想手動指定的話,Marklogic支持的日誌級別有:

級別

描述

Finest

顯示最詳細的調試級別日誌信息

Finer

顯示比較詳細的調試級別日誌信息

Fine

顯示詳細的調試級別日誌信息

Debug

顯示調試級別日誌信息

Config

顯示配置信息

Info

顯示一般日誌信息,默認

Notice

顯示一般而有意義的日誌信息

Warning

警告信息

Error

錯誤級別日誌信息

Critical

關鍵Immediate 日誌信息

Alert

需要及時處理的日誌信息

Emergency

系統不可用

emergency, alert, critical, error, warning, notice, info, config, debug, fine, finer, 和finest

日誌級別xdmp:log-level

Marklogic總共兩個和日誌有關的API,這個更簡單,就是獲取當前數據庫的日誌級別。

xdmp:log-level() as xs:string

查看系統日誌

Marklogic Server的系統日誌可以根據安裝平台選擇合適的工具查看。在Windows 平台,日誌信息被收納在了三個目錄下,並被註冊了Marklogic。在UNIX 平台,系統日誌採用了LOG_DAEMON方式,系統日誌被放在了/var/log/messages這樣一個位置,當然你可以根據系統的配置更改這一路徑。

查看文件日誌

文件日誌是簡單的文本text類型,可以用任何文本編輯工具打開。在Admin Page,也可以查看文件日誌。
我的系統中一段文件日誌信息:

2016-10-15 20:43:35.439 Notice: Starting MarkLogic Server 8.0-4 amd64 in E:\Marklogic with data in E:\Marklogic\Data
2016-10-15 20:43:38.262 Info: SSL FIPS mode has been enabled
2016-10-15 20:43:45.878 Info: Native plugin cache manifest initialized
2016-10-15 20:43:45.987 Info: Forest Schemas state changed from unmounted to mounted
2016-10-15 20:43:45.987 Info: Mounted forest Schemas locally on E:\Marklogic\Data\Forests\Schemas read write
016-10-15 21:51:24.089 Info: Deleted 1 MB in 1 sec at 143 MB/sec E:\Marklogic\Data\Forests\App-Services\00000162
2016-10-15 22:30:01.210 Info: CleanupMeterTask::run: deleting : 244
2016-10-15 22:55:45.783 Info: App-Services: 成功

幾個問題

  1. 是否可以更改Marklogic默認的日誌文件路徑:不能
  2. 是否可以更改Marklogic默認的日誌文件名:不能
  3. 是否可以更改Marklogic默認的日誌級別:能
  4. 是否可以自定義日誌文件的格式:不能
  5. 能否設置多個日誌級別:不能