JSコンソールにログをはくActionScript

いままではLocalConnection使うロガーをつかってたんだけど、JSと同じところで見れたほうが楽かなと思って作ってみた。

import flash.external.ExternalInterface;

class Logger {
    public static function trace(msg) {
        return ExternalInterface.call("window.console.log", msg)
            || ExternalInterface.call("opera.postError", msg)
            || ExternalInterface.call("printfire", msg)
            || ExternalInterface.call("Debug.writeln", msg)
            || ExternalInterface.call("debug.trace", msg)
        ;
    }
}

こんな感じの、もてきっとからぱくってきただけだけど。

MTASCから利用するときはコマンドラインパラメータに -trace Logger.trace とかすればasソース内のtrace()がコンパイル時かってに置換されるのでアプリ内からは普通にtrace()るだけでおk