実質51日目

最近寒いね。コート着てないせいもあるけど。いや外歩く時間が短いので面倒なんですよね。会社では作業をいろいろ振られる。期末だということもあり事務作業も多い。この工数って結構馬鹿にならんのですよね。PMからは次の作業としてログの見直し依頼がくる。なんでも現状ではレベルがCRITICALなログが結構出てるとのこと。実際のログは見ていないがとりあえずソースをみると、まずログレベルと表示されるメッセージが合ってない。どんだけー。fatalのときにCRITICALと出力している。っていうかlog4jつかっているんだけどlog4jにCRITICALなんてレベルないじゃんw それはそれとしてもfatalにする必要が無いのも結構有る。ログのレベルはdebug,info,warn.errorでいいんじゃねって思うがどうなんだろ。僕のイメージではdebugは変数の中身の詳細を出す。infoは画面遷移ごとに出す。warnは処理を継続しても問題無いけどログに出しておいた方がいいときにつかう。メール送信失敗とか。Exception発生する場合はたいていerrorでいいんじゃないかな。SQLExceptionとかね。本番環境のログレベルをdebugにするかinfoにするかは意見が分かれるだろうけどどっちかなんじゃないかな。ログ出力のしかたも

if(log.isDebugEnable()){
  log.debug(...);
}

とか

if(log.isDebugEnable()){
  log.log(Level.DEBUG, ...);
}

よりも

log.log(...);

が読みやすくていいね。ログレベルはメッセージIDのサフィックスで判断する。こうすればログレベルを変えるのにソースいじる必要ない。