MongoDB日志文件

lio*_*ior 7 logging 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
Run Code Online (Sandbox Code Playgroud)

我错过了什么?有没有办法用java spring(也许是xml)配置mongo日志文件?

Ste*_*nie 2

一般来说,您不想使用配置diaglog选项,因为 diaglog 二进制文件非常冗长且难以使用。dbpath启用此设置后,您将在目录中获得一系列名为 的文件diaglog.<time in hex>。您可以使用该工具重播这些文件mongosniff,但此方法主要用于驱动程序/服务器开发,而不是最终用户故障排除。

仅供参考,该diaglog选项实际上已在 MongoDB 2.6 中被弃用(参考:SERVER-12149)。

要记录查询,您应该查看数据库分析器,该分析器可以全局启用(就像您在配置中使用 with 所做的那样profile=2)或按数据库启用。

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

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

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

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

但是,您可以profile通过 Java 驱动程序调用该命令以在运行时调整分析选项。

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

db.command(BasicDBObjectBuilder.start().add("profile", 2).get());
Run Code Online (Sandbox Code Playgroud)