AstroJS/botanjs/src/System/Log.js

47 lines
935 B
JavaScript
Raw Normal View History

2015-08-14 10:12:10 +00:00
(function(){
var ns = __namespace( "System.Log" );
var handler = [];
var SYSTEM = 1;
var INFO = 16;
var ERROR = 32;
var writeLine = function ( mesg, type )
{
type = ( type === undefined ) ? INFO : type;
var handled = false;
for( var i in handler )
{
handler[i]( mesg, type );
handled = true;
}
if( !handled
&& window[ "console" ]
&& console.log
) console.log( mesg );
};
var registerHandler = function( func )
{
var index = -1;
handler[ index = handler.length ] = func;
return index;
};
var removeHandler = function( index )
{
delete handler[ index ];
};
ns[ NS_EXPORT ]( EX_FUNC, "writeLine", writeLine );
ns[ NS_EXPORT ]( EX_FUNC, "registerHandler", registerHandler );
ns[ NS_EXPORT ]( EX_FUNC, "removeHandler", removeHandler );
ns[ NS_EXPORT ]( EX_CONST, "INFO", INFO );
ns[ NS_EXPORT ]( EX_CONST, "ERROR", ERROR );
ns[ NS_EXPORT ]( EX_CONST, "SYSTEM", SYSTEM );
})();