会社でも個人でも使っているRails
macで開発をしていて log/development.log
をtailしてみると綺麗に色がついたログが流れてくる
ただこれを本番とかで使用しているLinux上で less log/development.log
で見たら文字化けっぽくなってた
解決策としては
# config/environments/production..rb config.colorize_logging = false
のようにしてあげれば、色がつかなくなり見られるようになるが、そもそもなんでこうなるんだっけってのが分からなかったので調べた
この色がつくのは ANSIカラーシーケンスと呼ばれるもので、エスケープシーケンスという通常の文字列で表すことの出来ない文字などを特定の文字列で実現しており
今回の色とかになると
$ print "\e[34mBLUE\e[0m"
こんな感じで記載すると青色でBLUEがコンソールに出て来る
上記の文字列でいう \e[34m
というのがこれ以降を青色で出してねという命令で \e[0m
というのがこれ以降をリセットする命令とのこと