【问题标题】:Remove log message in active-model-serializers删除 active-model-serializers 中的日志消息
【发布时间】:2017-01-14 16:52:38
【问题描述】:

如何从我的日志中删除此 active-model-serializers 消息?

[active_model_serializers] Rendered ActiveModel::Serializer::CollectionSerializer with ActiveModelSerializers::Adapter::JsonApi

【问题讨论】:

标签: ruby-on-rails active-model-serializers


【解决方案1】:

在你的config/initializers/active_model_serializer.rb:

require 'active_model_serializers'
ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT)

这会正确地取消您对呈现事件的订阅,而不是仅仅禁用所有日志记录等。 来自:https://github.com/rails-api/active_model_serializers/blob/ab98c4a664f26077e5b3c90ea6bcbe129ec2d0b9/docs/general/logging.md

【讨论】:

    【解决方案2】:

    我在 AMS 配置中没有找到任何禁用日志的功能,但是,通过重新定义 ActiveModelSerializers.logger (source) 可以通过其他几种方法实现此目的

    在你的config/initializers/active_model_serializer.rb:

    1) 提高日志级别,这样就不会记录任何内容:

    ActiveModelSerializers.logger.level = Logger::Severity::UNKNOWN
    

    2) 将 AMS 日志写入/dev/null

    ActiveModelSerializers.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new('/dev/null'))
    

    【讨论】:

    • 选项 (1) 完全中断日志记录,并且 (2) 无效:(
    猜你喜欢
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多