我的配置日志文件出现问题。我正在尝试记录所有操作,但唯一保存的操作是 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日志文件?
答案 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