MongoDB日志文件

时间:2014-02-06 09:22:40

标签: mongodb logging

我的配置日志文件出现问题。我正在尝试记录所有操作,但唯一保存的操作是 SERVER RESTARTED 。 我的配置文件:

##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 spring(也许是xml)配置mongo日志文件?

1 个答案:

答案 0 :(得分:2)

通常,您想要使用diaglog configuration option,因为diaglog二进制文件非常详细且难以使用。启用此设置后,您将在名为dbpath的{​​{1}}目录中获得一系列文件。您可以使用mongosniff工具重播这些文件,但这种方法主要用于驱动程序/服务器开发,而不是最终用户的故障排除。

仅供参考,diaglog.<time in hex>选项实际上已被弃用,如MongoDB 2.6(参考:SERVER-12149)。

要记录查询,您应该查看可以全局启用的Database profiler(正如您在使用diaglog的配置中所做的那样)或每个数据库。

分析数据将保存在上限profile=2集合中,每个数据库的默认大小为1Mb。如果您想收集更多历史记录,可以创建更大的system.profile集合。

请注意,建议不要在生产中使用分析级别2运行,因为这会为数据库的每个查询生成一次写入。

  

有没有办法用java spring(也许是xml)配置mongo日志文件?

我不希望驱动程序有选项来配置MongoDB服务器。

但是,您可以通过Java驱动程序调用{​​{3}}命令来在运行时调整分析选项。

例如,您可以使用以下内容启用分析级别2:

system.profile