2014-02-06 90 views
6

我的配置日誌文件出現問題。我試圖記錄所有操作,但唯一保存的是服務器重啓。 我的配置文件:MongoDB日誌文件

##store data here 
dbpath=C:\data\db 

profile=2 

##all output go here 
logpath=C:\mongodb\log\mongo.log 

logappend=true 
##log read and write operations 
diaglog=3 

我在想什麼? 有沒有辦法用java彈簧配置mongo日誌文件(也許是xml)?

回答

2

一般來說,你做想用diaglog configuration option作爲diaglog二進制文件都非常冗長,也難以奏效。啓用此設置後,您將在名爲diaglog.<time in hex>dbpath目錄中獲得一系列文件。您可以使用mongosniff工具重播這些文件,但此方法主要用於驅動程序/服務器開發,而不是最終用戶故障排除。

僅供參考,diaglog選項實際上在MongoDB 2.6(參考:SERVER-12149)上已被棄用。

要記錄查詢,您應該查看Database profiler,它可以全局啓用(如您在配置中使用profile=2所做的那樣)或按數據庫啓用。

分析數據將被保存在限制的system.profile集合中,每個數據庫的默認大小爲1Mb。如果你想收集更多的歷史,你可以創建一個更大的system.profile集合。

請注意,建議不要在生產環境中運行分析級別2,因爲這樣會爲您的數據庫的每個查詢生成一個寫入。

有沒有辦法用java彈簧配置mongo日誌文件(或許是xml)?

我不希望驅動程序有選項來配置MongoDB服務器。

但是,您可以通過Java驅動程序調用profile命令來在運行時調整分析選項。

例如,你可以啓用分析水平2的東西,如:

db.command(BasicDBObjectBuilder.start().add("profile", 2).get());