开发者

Rails: Logging for code in the lib directory?

What is the best/easiest way to configure logging for code kept in the lib directory开发者_Python百科?


There's two ways to go about it:

  • Assuming your library is self-contained and has a module, you can add a logger attribute to your module and use that everywhere in your library code.

    module MyLibrary
      mattr_accessor :logger
    end
    

    You then either use an initializer in config/initializers/, or an config.after_initialize block in config/environment.rb to initialize your logger, like so:

    require 'mylibrary'
    MyLibrary.logger = Rails.logger
    

    This would still allow you to use your self-contained library from scripts outside of Rails. Which is nice, on occasion.

  • If using your library without Rails really doesn't make sense at all, then you can also just use Rails.logger directly.

In either case, you're dealing with a standard Ruby Logger. Also keep in mind that, in theory, the logger may be nil.


We can use Rails logger directly into the lib, see the following snippet.

require 'logger'

Rails.logger.info "Hay..!!! Im in lib"
Rails.logger.debug "Debugging this object from Lib #{object.inspect}"
Rails.logger.error "This is an error..."
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜