예제 #1
0
        void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
        {
            Usuario usuarioLogado = SessionHelper.UsuarioLogado;

            //Se nenhum usuário está conectado então sai não guarda log
            if (usuarioLogado == null || noLog)
            {
                return;
            }

            string descricao = "";

            descricao += getBetterDescriptionAsPossible(filterContext);

            if (descricao.Length > 1000)
            {
                descricao = descricao.Substring(0, 1000) + "...";
            }
            var nomeUsuario = usuarioLogado.login;

            Log log = new Log
            {
                nomeUsuario = nomeUsuario,
                menu        = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
                opcao       = filterContext.ActionDescriptor.ActionName,
                acao        = descricao,
                method      = filterContext.HttpContext.Request.HttpMethod,
                data        = filterContext.HttpContext.Timestamp,
            };

            LogDao.Save(log);
        }