ベースアーティクル Adobe AIR Flex をだれでも簡単に作成できるパッケージ : ★ 超シンプル FLV プレーヤー ★▼ この記事の本文 Flex3 の時は、trace メソッドで出力されたのですが、何故かうまくいかない ので、王道の 『logging API』を使用します。 まず最初に以下の定義をします import mx.logging.targets.*; import mx.logging.*; private var logger:ILogger = Log.getLogger("MyLogger"); ここで、MyLogger はなんでもいいです。ログの出力行の最後に出力される文字列 で、ここでは結局出力していません(includeCategory )。その設定も含めて、以下 のコードで利用します。 var traceTarget:TraceTarget = new TraceTarget(); traceTarget.level = LogEventLevel.ALL; traceTarget.filters = ["*"]; traceTarget.includeDate = false; traceTarget.includeTime = false; traceTarget.includeLevel = false; traceTarget.includeCategory = false; Log.addTarget(traceTarget); ■ includeDate 〜 includeCategory はログ行に出力するかどうかです ( 詳細は、オンラインドキュメントか解説ページ ) ■ Log クラスは、mx.logging に定義されています ▼ 出力です ( info 以外にもメソッドはありますが、ここでは必要無いでしょう ) logger.info( "initData() が実行されました" ); ログの環境設定 これは、Flex3 の時と同じでした。『C:\Documents and Settings\ユーザ』ディレクトリに mm.cfg ファイルを作成して、TraceOutputFileEnable=1 を書き込むとファイルに出力されて TraceOutputFileEnable=0 にすると標準出力に出力されます。出力されるファイルは、 C:\Documents and Settings\ユーザー\Application Data\Macromedia\Flash Player\Logs の flashlog.txt です。( これを変える方法はまだ知りません ) ※ 標準出力を使いたい場合 日本語が化けるので、Flex3 のころの内容ですが参考になると思います ( Adobe AIR Flex をだれでも簡単に作成できるパッケージ内の記述 )
【実行中の trace の日本語処理について】 デフォルトでは、Flex 内が UTF8 なので化けます。 ファイルに書き込めば、正しく表示されますが、 どうしてもコマンドプロンプト上で日本語トレースしたい場合は以下のようにします。 1) ファイル名を指定して実行から、cmd.exe を実行してコマンドプロンプトを表示 2) プロパティのフォントで MS ゴシックを選択して、「同じタイトルのウインドウに適用する」を選ぶ 3) コマンドプロンプトを閉じる 4) __air_start.txt を開いて、chcp 65001 を実行させるように ; を削除する 5) air_start.wsf を実行する ※ mode con: cp select=65001 でもコードページは変更できます このオプションは、バグってるようなので、日本語は表示されますが欠けたりします。 コンソールの再描画が正しくされていないようなので、ウインドウのサイズを変更したり 最小化して戻したりすると正しく表示されます。 「同じタイトルのウインドウに適用する」を解除したい場合は、 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe のレジストリキーを削除します。 ( 環境毎に違うと思いますが、HKEY_CURRENT_USER\Console の下に作成されます )ソースコード 2年半ぶりに Air Flex のコードを整備しました Web Flex のログコード
import mx.formatters.*; // ********************************************************* // ログ表示 // ********************************************************* public function log(data:Object):void { // 日付編集用 var fmt:DateFormatter = new DateFormatter(); fmt.formatString = "YYYY/MM/DD HH:NN:SS"; var logdt:String = fmt.format( new Date ); // JavaScript の呼び出し ExternalInterface.call( "console.log", logdt, " "+data ); }
昔は Firebug 使ってずっとこれで出力してましたが、今では全てのブラウザで console.log が使えるので普通に利用できるはずです
|
【オワコンの最新記事】
- tiktok > Stable Diffusion : まあ、とにかく凄い今時の頂点系
- Windows 8.1 + Visual Studio 2013 + WebGL + Three.js v65
- Microsoft Visual Studio 2010 のエミュレータは localhost で PC にアクセスできてた。
- Windows Phone で Zune を終了しても実機デバッグはできる( つまり、カメラが使える )
- Windows Phone SDK 8.0 がリリースされました。高橋 忍氏のブログをチェックするといいと思います
- App クラスを介してページ間の参照 / Windows Phone(C#)
- 『Windows8(C#) 2ページテンプレート』で、2ページ目で HttpClient で JSON データをバインドする
- Windows8 の最新版で、C#のテンプレート(Windows ストア)で、ページを追加すると固まるというバグがあるので、テンプレートを作って回避しています。
- 黒子のバスケが始まるまでに Windows Phone の開発環境を作る
- AIR + Papervision3D でメタセコイアの 3D キャラを遊ぶサンプルパッケージ
- Windows8(JavaScript Metro Style 導入) 関連リンク
- Windows 8 Release Preview のコントロールパネルの Flash Player 設定マネージャ
- Windows8 の XMLHttpRequest の POST メソッドのテストの為に、超簡易掲示板を授業中に作成
- AIR+FLARToolkitサンプル開発キット / collada(dae)とメタセコイア(mqo)ローダ実装済
- AIR Flex4 で WEB カメラを最も簡単に実装する方法
- Windows8 + LiveSDK のサンプルコードの実行
- WindowsConsumerPreview やその他の環境で、Microsoft の Live SDK を試す為の情報
- Adobe AIR Flex をだれでも簡単に作成できるパッケージ : ★ 超シンプル FLV プレーヤー ★
- アプリケーションバーを追加する : Win8 Metro(JS)
- Spark のスキンを使った時のウインドウサイズ変更オペレーション : Adobe AIR Flex