如何不截断 Mongoid 日志?
How to not truncate Mongoid logs?
这是 Mongoid 记录操作的方式:
D, [2016-01-12T18:42:19.790639 #7906] DEBUG -- : MONGODB | localhost:27017 | app_test.update | STARTED | {"update"=>"users", "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('5695652bc54d2d1ee200001e')}, "u"=>{"$addToSet"=>{"favorite_ids"=>{"$each"=>[BSON::ObjectId('5695652bc54d2d1ee200001f')]}}}, "multi"=>false, "upsert"=>false}], "writeConcern"=>{:w=>1}, "orde...
我希望能够看到完整的日志消息。这可能吗?
Obs:我正在使用 Mongoid 5。
Mongoid 会截断日志,因此您应该检查 mongo 日志。方法如下:
第一个ps aux | grep mongod
如果您指定了一个日志文件,您将在您的 mongod
实例上找到一个 --logpath
选项。
如果没有你会发现这样的东西mongod --profile=1 --slowms=1 --config /usr/local/etc/mongod.conf
cat /usr/local/etc/mongod.conf
找到类似下面的东西
系统日志:
目的地:文件
路径:/usr/local/var/log/mongodb/mongo.log
logAppend: true
然后tail -f /usr/local/var/log/mongodb/mongo.log
这样您可以查看完整的 un-truncated 日志。
如果您看不到调试日志,请登录 mongo
,选择您的数据库,然后 db.setLogLevel(number)
其中 number
介于 1 到 5 之间。
阅读更多关于 db.setLogLevel()
在深入研究 Mongo Ruby Driver(被 Mongoid >= 5 使用)之后,我找到了一个解决方案:
Mongo::Monitoring::CommandLogSubscriber::LOG_STRING_LIMIT = 1_000
编辑
正确的方法是将 truncate_logs
选项添加到 mongoid.yml 文件:
config/mongoid.yml:
development:
clients:
default:
database: database_name_development
hosts:
- localhost:27017
options:
truncate_logs: false
--
Mongoid 的文档很差
这是 Mongoid 记录操作的方式:
D, [2016-01-12T18:42:19.790639 #7906] DEBUG -- : MONGODB | localhost:27017 | app_test.update | STARTED | {"update"=>"users", "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('5695652bc54d2d1ee200001e')}, "u"=>{"$addToSet"=>{"favorite_ids"=>{"$each"=>[BSON::ObjectId('5695652bc54d2d1ee200001f')]}}}, "multi"=>false, "upsert"=>false}], "writeConcern"=>{:w=>1}, "orde...
我希望能够看到完整的日志消息。这可能吗?
Obs:我正在使用 Mongoid 5。
Mongoid 会截断日志,因此您应该检查 mongo 日志。方法如下:
第一个
ps aux | grep mongod
如果您指定了一个日志文件,您将在您的
mongod
实例上找到一个--logpath
选项。如果没有你会发现这样的东西
mongod --profile=1 --slowms=1 --config /usr/local/etc/mongod.conf
cat /usr/local/etc/mongod.conf
找到类似下面的东西系统日志: 目的地:文件 路径:/usr/local/var/log/mongodb/mongo.log logAppend: true
然后
tail -f /usr/local/var/log/mongodb/mongo.log
这样您可以查看完整的 un-truncated 日志。
如果您看不到调试日志,请登录 mongo
,选择您的数据库,然后 db.setLogLevel(number)
其中 number
介于 1 到 5 之间。
阅读更多关于 db.setLogLevel()
在深入研究 Mongo Ruby Driver(被 Mongoid >= 5 使用)之后,我找到了一个解决方案:
Mongo::Monitoring::CommandLogSubscriber::LOG_STRING_LIMIT = 1_000
编辑
正确的方法是将 truncate_logs
选项添加到 mongoid.yml 文件:
config/mongoid.yml:
development:
clients:
default:
database: database_name_development
hosts:
- localhost:27017
options:
truncate_logs: false
--
Mongoid 的文档很差