我在rails中有一个sidekiq作业,我不想让那个作业在bundle exec sidekiq中写日志,我该怎么做呢?
我正在使用以下命令获取日志:“sudo tail -n 1000 /var/log/syslog| grep sidekiq”。我的作业返回最后1000个sidekiq日志(1000行,每个作业大约有4行:start,enqueued with arguments(这部分显示了数据作业),performed,done),当我多次调用这个作业时,这会导致响应越来越大,因为这个作业的日志数据有最后1000个sidekiq日志。如果我调用它5次,这意味着最后的作业数据将是巨大的(几乎16000)。
我尝试使用chatgpt建议的logfilterer。我在lib文件中创建了logfilterer,并创建了新的logger,在/initializers/sidekiq.rb中将此日志的日志级别设置为错误级别,但这对我来说不起作用,或者我无法正确地做到这一点。我尝试获得1000个日志,并删除包含该作业名称的每一行,但不知何故,数据仍然越来越大。
1条答案
按热度按时间k97glaaz1#
您可以将stdout和stderr重定向到dev/null:
或者在Sidekiq初始化器中禁用日志记录:
也就是说,您的问题并不清楚,因为您是专门针对“sidekiq”这个词进行grep的。您可以使用
grep -v "sidekiq"
来过滤包含“sidekiq”的行,因为通常情况下,禁用日志记录并不是一个好的实践。