ログ

プロジェクト内では、各アプリケーションに独自のロガーがあります

指定されたアプリケーションWebに対して、loggerはでアクセス可能Web.loggerです。

先に:私たちはロガーの動作を定義することができますごとの環境のアプリケーション設定を使用してstreamformatlevel。たとえば、デフォルトの出力先ストリームは標準出力ですが、代わりにファイルを使用できます。

# apps/web/application.rb
module Web
  class Application < Hanami::Application
    # ...

    configure :development do
      # ...

      # Logger
      # See: http://hanamirb.org/guides/projects/logging
      #
      # Logger stream. It defaults to STDOUT.
      # logger.stream "log/development.log"
      #
      # Logger level. It defaults to DEBUG
      # logger.level :debug
      #
      # Logger format. It defaults to DEFAULT
      # logger.format :default
    end

    ##
    # TEST
    #
    configure :test do
      # ...

      # Logger
      # See: http://hanamirb.org/guides/projects/logging
      #
      # Logger level. It defaults to ERROR
      logger.level :error
    end

    ##
    # PRODUCTION
    #
    configure :production do
      # ...

      # Logger
      # See: http://hanamirb.org/guides/projects/logging
      #
      # Logger stream. It defaults to STDOUT.
      # logger.stream "log/production.log"
      #
      # Logger level. It defaults to INFO
      logger.level :info

      # Logger format.
      logger.format :json
    end
  end
end

標準出力を使用することは、ほとんどのSaaS企業が使用することを提案しているベストプラクティスです。

その解析可能性のために、JSONはプロダクション環境のデフォルトフォーマットです。プロジェクトの使用状況に関する集約情報が必要な場合があります。

ロガーはRubyのものと非常によく似ていますLogger。次のように使用することができます:

Web.logger.debug "Hello"