//
        // GET: /AccessLog/
        public ActionResult Index()
        {
            var user = Session["User"] as DB.user;

            if (user == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var model = new AccessLogModel();

            arrangeBaseModel(model, user);

            var result = Operations.GetAccessLogByUser(user);

            if (result.Success)
            {
                model.Logs = result.ReturnValue.Select(x => new AccessLog(x)).ToList();
            }
            else
            {
                model.ErrorCode    = result.ErrorCode;
                model.ErrorMessage = result.Message;
            }

            return(View(model));
        }
        public void Log(string sourceIp, string methodName, object request, object response, Exception ex = null)
        {
            _stopwatch.Stop();
            var log = new AccessLogModel()
            {
                time             = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ms"),
                elapsed_time     = _stopwatch.ElapsedMilliseconds,
                interface_name   = methodName,
                request_content  = request,
                response_content = response,
                source_ip        = sourceIp,
                status           = 200,
                level            = ex == null ? "Info" : "Error"
            };

            if (ex != null)
            {
                log.msg    = ex.ToString();
                log.status = 400;
            }

            _logger.LogInformation(Newtonsoft.Json.JsonConvert.SerializeObject(log));
        }