SimpleLogger

SimpleLogger

FlashやFlexのクラスオブジェクトArray, ArrayCollection1, ObjectXMLの中身を最深層まで走査しモニターに表示するAdobe AIRアプリケーションです。 中身を確認したいオブジェクトを送信専用クラス(SimpleLogger.as、またはSimpleLoggerMx.as)の引数に渡すだけでモニターに中身が表示されます。

SimpleLogger schematic

図1 SimpleLoggerの仕組み。

バージョン情報

SimpleLoggerは何が便利なの?

別ウィンドウでモニタリングするFlash開発用ツールとしてはすでにいくつかありますので、これらとの違いを述べます。

対応クラス

Object, Array, ArrayCollection1, XML, TextField, String, etc. が扱えます。

アプリケーションに必要なシステム構成

ダウンロード

以下のAIRアプリケーション(コンソール)とActionScriptライブラリ(クライアント)の二つが必要です。

  1. AIRアプリケーション(コンソール)

    下記ボタンよりAIRアプリケーションの自動インストールを行ってください。 自動インストールできない場合はこちらより手動でインストールを行ってください。 (手動インストールは別途Adobe AIR Runtimeが必要です)

    コンテンツ再生には最新のFlash Playerが必要です。 ダウンロードはこちら
  2. ActionScriptライブラリ(クライアント)

    以下の二種類のクラスファイルが含まれています。

    • SimmpleLogger.as - 通常版クライアント。
    • SimmpleLoggerMx.as - Flex版クライアント。ArrayCollectionなどのmxパッケージに対応しています。

使い方

  1. SimpleLoggerアプリケーションを起動。
  2. SimpleLogger.trace() (またはSimpleLoggerMx.trace())に調べたいオブジェクトを渡す。trace()を実行する前にAIRアプリケーションを起動させてください (起動前に実行するとエラーになります)。例えばネストしたArrayの中身を調べる場合
    import com.borealkiss.SimpleLogger;
    
    var ary:Array = ["This","is","a","nested","array", 
                    {platform:"Flex", flash_player:"9"},
                    ["This","is","a",{R:"Rich",I:"Internet",A:"Application"}]];
                    
    SimpleLogger.trace(ary);
    と書いて実行すると、モニターに以下のように中身が表示されます(SimpleLoggerクラスオブジェクトはnewによって実体化する必要はありません)。
    [0] => "This"
    [1] => "is"
    [2] => "a"
    [3] => "nested"
    [4] => "array"
    [5] => [flash_player] => "9"
    [5] => [platform] => "Flex"
    [6] => [0] => "This"
    [6] => [1] => "is"
    [6] => [2] => "a"
    [6] => [3] => [A] => "Application"
    [6] => [3] => [I] => "Internet"
    [6] => [3] => [R] => "Rich"
    Objectの場合も同様で
    import com.borealkiss.SimpleLogger;
    
    var obj:Object = {  first:"This",
                        second:"is",
                        third:{one:"a",two:"nested",three:"Object"}};
    
    SimpleLogger.trace(obj);
    上記を実行した場合、モニターには以下のように表示されます。
    [third] => [two] => "nested"
    [third] => [three] => "Object"
    [third] => [one] => "a"
    [second] => "is"
    [first] => "This"

    XMLオブジェクトも同様の送信方法で解析可能で、モニターには各ノード名がツリー状に表示されます(一番上の画像参照)。 attributeの解析は最新バージョンリリース日現在のところ対応していません。

    import com.borealkiss.SimpleLogger;
    
    //Example of XML object
    var xml:XML = <users>...</users>;  
    SimpleLogger.trace(xml);

    ArrayCollectionはmxパッケージ対応のSimpleLoggerMx.asでモニタリング可能です (SimpleLogger.asでは解析できません)。

    import com.borealkiss.SimpleLoggerMx;
    
    var ac:ArrayCollection = new ArrayCollection([  {name:"Martin Foo",age:25},
                                                    {name:"Joe Bar",age:15},
                                                    {name:"John Baz",age:23}]);
                    
    SimpleLoggerMx.trace(ac);
    上記実行結果のモニター内容。
    [0] => [age] => "25"
    [0] => [name] => "Martin Foo"
    [1] => [age] => "15"
    [1] => [name] => "Joe Bar"
    [2] => [age] => "23"
    [2] => [name] => "John Baz"

Note

1 ArrayCollectionはmxパッケージ対応のSimpleLoggerMx.asで解析可能です。SimmpleLogger.asは対応していません。

Contact

info [AT] boreal-kiss [DOT] com


Powered by blog Boreal Kiss 2008.