Scala で Android アプリ開発(Log 編)
ログを出力する際、ログ出力位置の情報も一緒に出力する。
package com.github.cooldaemon.HelloWorld import _root_.android.util.{Log => ALog} object Log { val TAG = "HelloWorld" def e(m: String) = printlog(ALog.e, m) def w(m: String) = printlog(ALog.w, m) def i(m: String) = printlog(ALog.i, m) def d(m: String) = printlog(ALog.d, m) def v(m: String) = printlog(ALog.v, m) private def printlog(f: (String, String) => Int, m: String): Int = { val st = ((new Throwable()).getStackTrace).apply(2) f(TAG, "%s.%s(%s:%s): %s".format( st.getClassName, st.getMethodName, st.getFileName, st.getLineNumber, m )) } }
製品出荷時には、ログを出力しないよう注意。