MongoDB 日志文件

标签 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配置mongo日志文件(可能是xml)?

最佳答案

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

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

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

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

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

is there a way to configure mongo log file with java spring somehow (maybe xml)?

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

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

例如,您可以通过以下方式启用分析级别 2:

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

关于MongoDB 日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598594/

相关文章:

java - 在 Springboot mongodb 中创建自定义查询(使用 crudRepository)

javascript - Mongoose - 如何更新数组中的对象然后对更新后的数组进行排序?

ruby-on-rails - 学习RoR和Mongo,为什么不统计数组的票数

mongodb - 无法连接到 Ubuntu 上 Golang 中的 Mongo Cloud mongodb 数据库

bash - 如何在 shell 脚本中记录带有时间戳的 echo 语句

Tomcat localhost_access_log 文件清理

ruby-on-rails - 为什么我不能在heroku控制台中打印(“puts”)?

c# - Serilog 不写入文件(.net 核心 2.2)

javascript - 在简单查询上将循环结构转换为 json 错误

python - 配置第三方脚本的日志记录