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プロパティを使えば、時間に沿ったローテーションなどもできるには、
できると思い思います。

ソースのダウンロードはこちらから

関連記事

Leave a Reply

Spam protection by WP Captcha-Free

RSS
Add to Google

カスタム検索
ソフトウェア&ライブラリ


ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2009年4月
« 3月   5月 »
 12345
6789101112
13141516171819
20212223242526
27282930  
アーカイブ
にほんブログ村 IT技術ブログへ