Archive for 2009/4/21
Flexには、Loggerが用意されておりこれを使うことで、他の言語と同様にログの出力レベルに応じて出力を変えるなど柔軟に対応できる。
また、自分好みにログの出力方法を変えることも可能なのだ。
というわけで、今までTraceTarget(実際の中身はtrace()をしていただけ)を使っていたが、これを任意のファイルに書かせようとおもって、
作成しました。
var fileTarget:FileTarget = new FileTarget();
fileTarget.includeCategory = false;
fileTarget.includeDate = true;
fileTarget.includeTime = true;
fileTarget.includeLevel = true;
fileTarget.level = LogEventLevel.INFO;
// *** ここから FileTarget特有のプロパティ ***** //
fileTarget.directory = File.applicationStorageDirectory;
fileTarget.filename = "log.txt";
// ************************************** //
log.addTarget(fileTarget);
log.info("brabrabra.......");
といった感じに、directoryプロパティとfilenameプロパティで実際に出力するファイルを指定できる。
また、
fileTarget.append = false; fileTarget.levelSet = [LogEventLevel.DEBUG];
のように
appendプロパティでファイルが追記か、新たに記述するかを指定できる。
また、levelSetというプロパティは、指定したレベルのみを出力することが可能になる。
開発時などにはデバッグレベルのみ別ファイルにして、見てみたいという要望もあることでしょう。
また、ファイルのローテーションなどはありませんが、Timerクラスとfileプロパティを使えば、時間に沿ったローテーションなどもできるには、
できると思い思います。
ソースのダウンロードはこちらから
2011/11/04 – 現在は
こちらより、
coltware_airxlib_log_rxxxx.swcというライブラリをダウンロードしてください。


