Flex3: trace()ログ出力の設定、Windowsの隠しフォルダに注意
Flexのtrace()はログ出力の機能です。
Javaに慣れましたので、trace()もてっきりコンソールにも
出力すると思っちゃいましたが、
実はそうではありません。
trace()を使うにはまず設定が必要です。
バージョン情報
- Flex3 Builder: Version 3.0 (build 3.0.2.214193)
- Flash Player: 9,0,124,0
デバッガ版のFlash Player
Flex3 Builderをダウンロードしそこに含んだ
for IE, FirefoxなどのFlash Playerを全部インストールしてください。
そのほうが万全で楽です。
既にFlash Playerがインストールされたとしても、
それがデバッガ版じゃないとダメですよ。
設定ファイルの作成
mm.cfg
という設定ファイルを下記場所に作成オペレーティングシステム ファイルの作成場所 Macintosh OS X /Library/Application Support/Macromedia Windows Vista/ Windows7*1 C:\Users\username Windows 2000/XP C:\Documents and Settings\username Windows 95/98/ME %HOMEDRIVE%\%HOMEPATH% Linux /home/username
設定ファイルの編集
作成したmm.cfgファイルを下記のように編集すれば、エラーのレポートとトレースログが有効になります。
ErrorReportingEnable=1
TraceOutputFileEnable=1
TraceOutputFileNameというログファイルの名前と出力先を指定するプロパティもありますが、
Flash Player 9 Update 以降では、TraceOutputFileName プロパティは無視され、
オペレーティングシステムごとに異なるハードコードされた場所に flashlog.txt ファイルが格納されます。
Adobe Flex3 ヘルプ
との懸念もあり、各自の環境を確認した上でお使いください。
私のFLex3 Builder, Flash 9では無効でした。
ログファイルの場所
オペレーティングシステムごとに異なるハードコードされた場所に flashlog.txt ファイルが格納されます。
オペレーティングシステム | ログファイルの場所 |
---|---|
Macintosh OS X | /Users/username/Library/Preferences/Macromedia/Flash Player/Logs/ |
Windows Vista/ Windows7*2 | C:\Users\username\AppData\Roaming\Macromedia\Flash Player\Logs |
Windows 95/98/ME/2000/XP | C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs |
Linux | /home/username/.macromedia/Flash_Player/Logs/ |
Windowsの方は特に隠しフォルダに注意してください。
Windows7のAppDataフォルダ、またその他WindowsのApplication Dataフォルダはデフォルトで隠しフォルダになっているため、
先にフォルダ構成で隠しフォルダを表示させてから、ログファイルを確認してください。
テストコード
<</span>?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
<private function init():void{
trace("Hello World");
}
]]>
</mx:Script>
</mx:Application>
これでログファイルには「Hello World」と出力されるはずです。
特記事項
こういう記事はGoogleで検索すればいっぱい出てくるはずで、
自分でもう一回書こうと全然思わなかったのですが、
OSやFlash Playerのバージョンで設定内容が異なり、
私が最初見つかった幾つかのサイトでの書き方では
どう設定してもまったくログが出力されなかったのです。
アンインストールしたり、設定ファイルのエンコードまで
神経質になってしまいました。
その記事を書いた方々に別に文句はありませんが、やはり
技術記事はバージョン情報の提示を心がけましょう。
私もこれからは注意します。
参考サイト:Adobe Flex 3 ヘルプ