import {LoggerUtil} from '../../common/lang/LoggerUtil'; import {ObjectUtil} from '../../common/lang/ObjectUtil'; import {ScopeEnum} from '../../common/lang/ScopeEnum'; import {BufferedSocket} from '../../common/net/BufferedSocket'; import {ClassUtil} from '../../common/reflect/ClassUtil'; import {Linker} from '../../common/reflect/Linker'; import {Property} from '../../common/reflect/Property'; import {Service} from '../Service'; import {EnvironmentService} from './EnvironmentService'; //========================================================== // 日志控制台。 // // @class // @author maocy // @version 150729 //========================================================== //@ALinker('ASD') export class LoggerService extends Service { @Linker(EnvironmentService) protected _environmentConsole: EnvironmentService; //@AProperty(EDataType.String) protected _code: string = null; protected _value: string = 'my'; // 网络 protected _socket = null; //========================================================== // 构造处理。 // // @method //========================================================== public static instance() { var loggerConsole = new LoggerService(); //var loggerConsole:FLoggerConsole = RClass.getInstance(FLoggerConsole); LoggerUtil.outputListeners.register(loggerConsole, loggerConsole.onOutput); return loggerConsole; } //========================================================== // 构造处理。 // // @method //========================================================== public constructor() { super(); // 设置属性 this._scopeCd = ScopeEnum.Global; //RLogger.outputListeners.register(this, this.onOutput); } //========================================================== // 输出内容。 // // @method //========================================================== //@ALinker(FEnvironmentConsole) public onOutput(context, event) { var message = event.message; console.log(message); //this.output(message); } //========================================================== // 链接处理。 // // @method //========================================================== public connect(url) { var socket = this._socket = ClassUtil.create(BufferedSocket); socket.connect(url); } //========================================================== // 输出内容。 // // @method // @param message:String 消息内容 //========================================================== public output(message) { var socket = this._socket; if (socket) { var url = window.location.toString(); socket.push('[' + url + '] - ' + message); socket.process(); } } //========================================================== // 断开处理。 // // @method //========================================================== public disconnect() { var socket = this._socket; if (socket) { socket.close(); } } //========================================================== // 释放处理。 // // @method //========================================================== public dispose() { // 释放属性 this._socket = ObjectUtil.dispose(this._socket); // 父处理 super.dispose(); } }