можно добавить в Object.prototype, но функция должна называться по другому, так как это не метод объекта а глобальная функция, такая как gotoAndPlay, gotoAndStop, stop, play

Код:
class Logger {
public static var __instance:Logger = null;
public static var __defaultLevel:Number = 0;
public static var __defaultMessage:String = '>> default message';
public var INFO:Number = 0;
public var DEBUG:Number = 1;
public var WARN:Number = 2;
public var ERROR:Number = 3;
public var FATAL:Number = 4;
public var SERVER_IN:Number = 5;
public var SERVER_OUT:Number = 6;
private var __records:Array = new Array ();
public function Logger () {
}
public function traceIt (level:Number, msg:String):Void {
// new Record
var o:LoggerRecord = new LoggerRecord (level, msg);
// push message
__records.push (o);
var levels:Array = ['INFO', 'DEBUG', 'WARN', 'ERROR', 'FATAL', 'SERVER_IN', 'SERVER_OUT'];
trace (levels [level] + ' >> ' + msg);
}
public static function init (flag:Boolean):Void {
var t:Object = Object.prototype;
if (__instance == null) {
t.log = __instance = new Logger ();
} // end if
}
}
class LoggerRecord {
public var level:Number = null;
public var message:String = null;
public var time:Number = null;
// -------------------------------------------------
// Constructor
// -------------------------------------------------
public function LoggerRecord (logLevel:Number, logMessage:String) {
// set Level
level = (logLevel == undefined || isNaN (Number (logLevel))) ? Logger.__defaultLevel: logLevel;
// set mesage
message = (typeof logMessage != 'string') ? Logger.__defaultMessage : logMessage;
// set time
time = new Date ().getTime();
}
}
Logger.init ();
log.traceIt (log.ERROR, 'опа Aшибка');
например что-то типа этого, если ты пользуешь AS1, то ни каких проблем, если в АС2, то надо в базовый класс добавить
public static var log:Logger;