Пример #1
0
        private void Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                var metaPoints = new List <Point>();

                foreach (var dataSender in _dataSenders)
                {
                    var previousQueueCount = dataSender.QueueCount;
                    _logger.Debug(string.Format("Starting to send {0} points to server {1} database {2}.", previousQueueCount, dataSender.TargetServer, dataSender.TargetDatabase));
                    var success        = dataSender.Send();
                    var postQueueCount = dataSender.QueueCount;
                    _logger.Debug(string.Format("Done sending {0} points to server {1} database {2}. Now {3} items in queue.", previousQueueCount, dataSender.TargetServer, dataSender.TargetDatabase, postQueueCount));

                    if (_metadata)
                    {
                        metaPoints.Add(MetaDataBusiness.GetQueueCountPoints("Send", dataSender.TargetServer, dataSender.TargetDatabase, previousQueueCount, postQueueCount - previousQueueCount + _dataSenders.Count, success));
                    }
                }

                if (_metadata)
                {
                    foreach (var dataSender in _dataSenders)
                    {
                        dataSender.Enqueue(metaPoints.ToArray());
                    }
                }
            }
            catch (Exception exception)
            {
                _logger.Error(exception);
                throw;
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            const int    num = 500000; //50W
            const string msg = "test";

            var watch = new Stopwatch();

            watch.Start();

            for (var i = 0; i < num; i++)
            {
                MyLogger.Debug(msg);
            }

            var t1 = watch.ElapsedMilliseconds;

            Console.WriteLine($"t1: {t1}");

            for (var i = 0; i < num; i++)
            {
                MyLogger.Info(i.ToString());
            }

            var t2 = watch.ElapsedMilliseconds;

            Console.WriteLine($"t2 - t1: {t2 - t1}");
            Console.Read();
        }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        if (playerRole != null)
        {
            float _inputHorizontal = Input.GetAxisRaw("Horizontal");
            float _inputVertical   = Input.GetAxisRaw("Vertical");
            bool  _inputShift      = Input.GetButton("Shift");

            if (inputHorizontal != _inputHorizontal || inputVertical != _inputVertical || inputShift != _inputShift)
            {
                inputHorizontal = _inputHorizontal;
                inputVertical   = _inputVertical;
                inputShift      = _inputShift;
                MyLogger.Debug("x:{0},y:{1},s:{2}", inputHorizontal, inputVertical, inputShift);
                if (inputHorizontal != 0 || inputVertical != 0)
                {
                    if (_inputShift)
                    {
                        playerRole.Command(RoleCommand.Run, new Vector2(inputHorizontal, inputVertical));
                    }
                    else
                    {
                        playerRole.Command(RoleCommand.Walk, new Vector2(inputHorizontal, inputVertical));
                    }
                }
                else
                {
                    playerRole.Command(RoleCommand.Stand);
                }
            }
        }
    }
Пример #4
0
        private void _console_LineWrittenEvent(object sender, LineWrittenEventArgs e)
        {
            switch (e.Level.ToString())
            {
            case "Default":
                _logger.Debug(e.Value);
                break;

            case "Information":
                _logger.Info(e.Value);
                break;

            case "Warning":
                _logger.Warn(e.Value);
                break;

            case "Error":
                _logger.Error(e.Value);
                break;

            default:
                _logger.Error(string.Format("Unknown output level: {0}", e.Level));
                _logger.Info(e.Value);
                break;
            }

            Trace.WriteLine(e.Value, e.Level.ToString());
        }
Пример #5
0
        //设置房间的位置及大小(以当前所有格子中左上角一个为准)
        private void setRoomPositionAndSize()
        {
            var miniX = int.MaxValue;
            var miniY = int.MaxValue;
            var maxX  = -1;
            var maxY  = -1;

            for (int i = 0; i < BindTileItems.Count; i++)
            {
                if (BindTileItems[i].IndexX < miniX)
                {
                    miniX = BindTileItems[i].IndexX;
                }
                if (BindTileItems[i].IndexY < miniY)
                {
                    miniY = BindTileItems[i].IndexY;
                }
                if (BindTileItems[i].IndexX > maxX)
                {
                    maxX = BindTileItems[i].IndexX;
                }
                if (BindTileItems[i].IndexY > maxY)
                {
                    maxY = BindTileItems[i].IndexY;
                }
            }
            MyLogger.Debug("miniX:" + miniX + " miniY:" + miniY);
            MyLogger.Debug("maxX:" + maxX + " maxY:" + maxY);

            transform.localPosition = TilesManager.GetTileItem(miniX, miniY).Position;
            Image.rectTransform.SetPivot(new Vector2(0, 1));
            Image.rectTransform.sizeDelta = new Vector2(64 * (maxX - miniX + 1), 64 * (maxY - miniY + 1));

            //todo:根据房间大小及方向设置房间名称大小及方向
        }
Пример #6
0
        public void Init()
        {
            MyLogger.Debug("game view init");
            //StartCoroutine(mView.Init());

            Map = mView.Map.Controller;
            Map.Init();
        }
Пример #7
0
        public void CallsiteBySubclass_mylogger()
        {
            LogManager.Configuration = CreateConfigurationFromString(@"
            <nlog>
                <targets><target name='debug' type='Debug' layout='${callsite:classname=true:methodname=true} ${message}' /></targets>
                <rules>
                    <logger name='*' minlevel='Debug' writeTo='debug' />
                </rules>
            </nlog>");

            MyLogger logger = LogManager.GetLogger("mylogger", typeof(MyLogger)) as MyLogger;

            Assert.NotNull(logger);
            logger.Debug("msg");
            AssertDebugLastMessage("debug", "NLog.UnitTests.LayoutRenderers.CallSiteTests.CallsiteBySubclass_mylogger msg");
        }
Пример #8
0
        private void ReportProgress(KeyValuePair <string, string> type)
        {
            switch (type.Key)
            {
            case "INFO":
                _logger.Info(type.Value);
                break;

            case "WARN":
                _logger.Warn(type.Value);
                break;

            case "ERROR":
                _logger.Error(type.Value);
                break;

            default:
                _logger.Debug(type.Value);
                break;
            }
        }
Пример #9
0
 /// <summary>
 /// 初始化地图
 /// </summary>
 public void Init()
 {
     MyLogger.Debug("map init");
     StartCoroutine(View.Init());
 }
Пример #10
0
 private void Awake()
 {
     MyLogger.Init();
     MyLogger.Debug("Test", "Awake");
 }
Пример #11
0
 void OnDisable()
 {
     MyLogger.Debug("Test", "OnDisable");
     MyLogger mylog = null;
     //mylog.ToString();
 }
Пример #12
0
 void OnEnable()
 {
     MyLogger.Debug("Test", "OnEnable");
 }
Пример #13
0
 void Start()
 {
     MyLogger.Debug("Test", "Start");
 }
Пример #14
0
        protected override void Awake()
        {
            mIsMoveSelect = false;
            LandformLayer.gameObject.SetActive(true);
            MouseEventLayer.gameObject.SetActive(false);

            //todo:据实际建筑类型控制选择点、线、片

            UGUIEventTrigger.Get(MouseEventLayer.gameObject).onPointerDown = (go, eventData) =>
            {
                //MyLogger.Debug("onPointerDown p:" + screenPoint2LocalPoint(eventData.position));
                //开始区域或者目标选择
                mPointDownPosition = screenPoint2LocalPoint(eventData.position);
                //mDragRect.rectTransform.localPosition = mPointDownPosition;
                createPreSelectTiles(getPointDownTileItem());
            };

            UGUIEventTrigger.Get(MouseEventLayer.gameObject).onDrag = (go, eventData) =>
            {
                mIsMoveSelect = false;
                //划定区域 隐藏
//                var currentMousePosition = screenPoint2LocalPoint(eventData.position);
//                var scaleX = 1;
//                var scaleY = 1;
//                mDragRect.rectTransform.sizeDelta = new Vector2(Mathf.Abs(currentMousePosition.x - mPointDownPosition.x), Mathf.Abs(currentMousePosition.y - mPointDownPosition.y));
//                if (currentMousePosition.x - mPointDownPosition.x < 0)
//                    scaleX = -1;
//                if (currentMousePosition.y - mPointDownPosition.y > 0)
//                    scaleY = -1;
//                mDragRect.rectTransform.localScale = new Vector3(scaleX, scaleY, 1);
//                if (!mDragRect.gameObject.activeSelf)
//                    mDragRect.gameObject.SetActive(true);

                //标示选中区域
                var tileItems = getRectTileItems(screenPoint2LocalPoint(eventData.position));
                createPreSelectTiles(tileItems);
            };

            UGUIEventTrigger.Get(MouseEventLayer.gameObject).onPointerUp = (go, eventData) =>
            {
                mIsMoveSelect = true;
                StartCoroutine(checkMouseSelect());
                //Logger.Debug("onPointerUp p:" + screenPoint2LocalPoint(eventData.position));
                //mDragRect.gameObject.SetActive(false);

                //创建建造命令并执行
                if (mPreSelectTileItems.Count > 0)
                {
                    var buildCommand = BuildCommandFactory.Create(Controller, mPreSelectTileItems, mCurrentBuildingsInfo);
                    if (buildCommand != null)
                    {
                        if (buildCommand.Prepare())
                        {
                            buildCommand.Execute();
                        }
                    }

                    PreSelectLayer.DestroyChildren();
                }
                else
                {
                    MyLogger.Debug("no target");
                }
            };
        }
        public SendResponse Send()
        {
            string responseMessage = null;
            var    stopWatch       = new Stopwatch();

            stopWatch.Start();

            lock (_syncRoot)
            {
                Point[] points     = null;
                var     retryCount = 0;
                try
                {
                    while (_queue.Count + _failQueue.Count > 0)
                    {
                        if (_queue.Count > 0)
                        {
                            var pts = new List <Point>();
                            retryCount = 0;
                            while (_queue.Count > 0)
                            {
                                pts.AddRange(_queue.Dequeue());
                            }
                            points = pts.ToArray();
                        }
                        else
                        {
                            var meta = _failQueue.Dequeue();
                            retryCount = meta.Item1;
                            points     = meta.Item2;
                        }

                        var client = _client.Value;
                        if (client != null)
                        {
                            _myLogger.Debug("Sending:" + Environment.NewLine + GetPointsString(points));
                            var response = client.WriteAsync(points).Result;
                            _myLogger.Info("Response: " + response.StatusCode + " " + response.Body);

                            _canSucceed = true;
                            OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, string.Format("Sending {0} points to server.", points.Length), points.Length, SendCompleteEventArgs.OutputLevel.Information));
                        }
                        else
                        {
                            responseMessage = "There is no client configured for sending data to the database, or the client has invalid settings.";
                            OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, responseMessage, points.Length, SendCompleteEventArgs.OutputLevel.Error));
                        }
                    }
                }
                catch (Exception exception)
                {
                    if (points != null)
                    {
                        var sb = new StringBuilder();
                        sb.AppendLine(exception.Message);
                        sb.AppendLine(GetPointsString(points));
                        _myLogger.Error(sb.ToString());
                    }
                    else
                    {
                        _myLogger.Error(exception);
                    }

                    if (exception is AggregateException)
                    {
                        exception = exception.InnerException;
                    }

                    responseMessage = exception.Message;
                    OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, exception));
                    if (points != null)
                    {
                        if (!_dropOnFail)
                        {
                            var invalidExceptionType = exception.IsExceptionValidForPutBack();

                            if (invalidExceptionType != null)
                            {
                                OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, String.Format("Dropping {0} since the exception type {1} is not allowed for resend.", points.Length, invalidExceptionType), points.Length, SendCompleteEventArgs.OutputLevel.Warning));
                            }
                            else if (!_canSucceed)
                            {
                                OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, String.Format("Dropping {0} points because there have never yet been a successful send.", points.Length), points.Length, SendCompleteEventArgs.OutputLevel.Warning));
                            }
                            else if (retryCount > 5)
                            {
                                OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, String.Format("Dropping {0} points after {1} retries.", points.Length, retryCount), points.Length, SendCompleteEventArgs.OutputLevel.Warning));
                            }
                            else
                            {
                                OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, String.Format("Putting {0} points back in the queue.", points.Length), points.Length, SendCompleteEventArgs.OutputLevel.Warning));
                                retryCount++;
                                _failQueue.Enqueue(new Tuple <int, Point[]>(retryCount, points));
                            }
                        }
                        else
                        {
                            OnSendBusinessEvent(new SendCompleteEventArgs(_senderConfiguration, String.Format("Dropping {0} points.", points.Length), points.Length, SendCompleteEventArgs.OutputLevel.Warning));
                        }
                    }
                }
            }

            return(new SendResponse(responseMessage, stopWatch.Elapsed.TotalMilliseconds));
        }