2014-02-06 68 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());