QA@IT
«回答へ戻る

回答を投稿

Padrinoはboot.rbに簡単な設定を書くだけでアプリケーションログを出力することができます。

ログの設定

config/boot.rb

Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :to_file }

**/*.rb

logger.debug "log message"

log/development.log

[36m  DEBUG[0m -[33m12/May/2012 13:42:23[0mlog message

lessで表示するには

質問にあった通り、エスケープシーケンスによるカラーリングがされているため、lessでカラーリングされた表示をするためには -R オプションが必要です。

$ less --help
# snip
 -r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                  Output "raw" control characters.
# snip

$ less -R log/development.log
DEBUG -12/May/2012 13:42:23hogepiyo 

なぜtailではなくless?

流れてくるログを見るために、lessは優れたツールです。通常は

tail -f log/development.log

などとしますが、lessでは

less -R log/development.log

として開いたあと、Shift + fを押すことで同様の状態になります。さらにCtrl + Cで止めるとviと同様にページアップ / ダウンや検索が行え、Shift + fで戻ることができます。教えると便利さにびっくりする人が定期的にいるので、周りの人に教えてあげましょう。

Padrinoはboot.rbに簡単な設定を書くだけでアプリケーションログを出力することができます。

# ログの設定

## config/boot.rb
    Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :to_file }

## \*\*/*.rb
    logger.debug "log message"

## log/development.log

      DEBUG -12/May/2012 13:42:23log message


# lessで表示するには

質問にあった通り、エスケープシーケンスによるカラーリングがされているため、lessでカラーリングされた表示をするためには -R オプションが必要です。

    $ less --help
    # snip
     -r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                      Output "raw" control characters.
    # snip
    
    $ less -R log/development.log
    DEBUG -12/May/2012 13:42:23hogepiyo 

# なぜtailではなくless?

流れてくるログを見るために、lessは優れたツールです。通常は

    tail -f log/development.log

などとしますが、lessでは

    less -R log/development.log

として開いたあと、Shift + fを押すことで同様の状態になります。さらにCtrl + Cで止めるとviと同様にページアップ / ダウンや検索が行え、Shift + fで戻ることができます。教えると便利さにびっくりする人が定期的にいるので、周りの人に教えてあげましょう。