2014年3月24日月曜日

【RoR】Loggerのフォーマットを指定する。

 RoRのデフォルトのloggerはタイムスタンプもでないので見づらい。出力のフォーマットをカスタマイズして見やすくするには、config/environments/#{env名}.rb にfommaterを定義して直接渡してもいいが、各envの設定ファイルで記載がいるので冗長になる。
 Logger::Formatterを拡張したクラスを作って、各設定ファイルでそれをformatterとして指定すると最低限の追加でよくなる。


拡張したformatterは以下のように書く。
extras/logger/formatter_with_time.rb

# coding:utf-8
class Logger::FormatterWithTime < Logger::Formatter cattr_accessor(:datetime_format) { "%Y-%m-%d %H:%M:%S" } # 出力フォーマットの定義。ここはお好きに。 def call(severity, timestamp, progname, msg) %![#{timestamp.strftime(datetime_format)}] [#{severity.downcase}] #{msg}\n! end end



extrasの下がautoloadになるように config/application.rbのautoloadの設定をオン(デフォルトではコメントアウトされている)にしておく。
config/environments/development.rb に下記のように追加。

#
# ログフォーマットの変更
#
config.logger = Logger.new("log/development.log")
config.logger.formatter = Logger::FormatterWithTime.new


Railsを再起動すると、下記のようにログにタイムスタンプがかかれて見やすくなった。ログレベルは小文字の方がログが見やすくなっていい。

[2014-03-24 00:22:23] [info]
[2014-03-24 00:22:23] [info] Started GET "/assets/logo.png" for 123.220.144.68 at 2014-03-24 00:22:23 +0900
[2014-03-24 00:22:24] [info] Served asset /logo.png - 304 Not Modified (0ms)

2014年3月17日月曜日

【d3.js】マウスオーバーしたら説明の出るスタック・バー・チャート

スタック棒グラフだと、棒グラフの一部がなんのデータかわからない。
なのでマウスオーバーでデータの説明がでるtooltipを追加する。

デモはこちら










2014年3月8日土曜日

【d3.js】Stack Bar Chart(重ねた棒グラフ)サンプル

http://bl.ocks.org/mbostock/3943967のサンプルを見て、stack棒グラフの部分だけ作ってみた。結構少ないコードでできる。
(相変わらずBloggerのプレビューでは d3.jsもsyntaxhilighterも動作しない。。。)













【d3.js】棒グラフのを作る

基本の棒グラフ。http://bost.ocks.org/mike/bar/3/ は d3.tsvでデータを読み込む
ようになっているが、なんだか遅い。読み込んだデータのループの中で描画をしているからだろうか。

下記のサンプルはデータのjsonをd3に渡す感じ。実際にwebアプリで使う際も
サーバサイドでjsonを作ってview(javascript)に渡すことになるだろう。

























2014年3月4日火曜日

2014年3月2日日曜日

テスト1

おはよう。いまは午前5時43分。
ブログを乗り換えようと思ってbloggerでつくってみた。さてどうだろう。

テストテスト

結構寒いなぁ雪ふるかなぁ。
朝食はなにつくろう。