示例#1
0
        public static int ExecuteExt(this IDbConnection connection, string sql, object param, IDbTransaction transaction = null, int?commandTimeout = null, bool isExecuteSql = false)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            try
            {
                var result = connection.Execute(sql, param, transaction, commandTimeout);

                if (result > 0 && isExecuteSql)
                {
                    var ip = HttpContextHelper.GetIpAddress();
                    Task.Factory.StartNew(() =>
                    {
                        var businessLog = GetBusinessLog(sql, param, ip);
                        OnBusinessed(businessLog);
                    });
                }

                return(result);
            }
            finally
            {
                sw.Stop();
                OnExecuted(sql, param, sw.ElapsedMilliseconds);
            }
        }
示例#2
0
        private static int ExecuteExt <TEntity>(this IDbConnection connection, string sql, IEnumerable <TEntity> param, IDbTransaction transaction = null, int?commandTimeout = null)
            where TEntity : BaseEntity
        {
            var result = connection.ExecuteExt(sql, param, transaction, commandTimeout, isExecuteSql: false);

            if (result > 0)
            {
                var ip = HttpContextHelper.GetIpAddress();
                Task.Factory.StartNew(() =>
                {
                    var businessLogs = GetBusinessLog <TEntity>(sql, param, ip);
                    OnBusinessed(businessLogs);
                });
            }

            return(result);
        }
示例#3
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            try
            {
                var treeId = HttpContext.Current.Items[VariableName.ContextKey].ToString();
                CallContext.LogicalSetData(VariableName.ContextKey, treeId);
                filterContext.HttpContext.Items[VariableName.StopwatchKey] = Stopwatch.StartNew();

                var actionName = string.Format("{0}/{1}", filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
                                               filterContext.ActionDescriptor.ActionName);
                var ip       = HttpContextHelper.GetIpAddress().PadRight(12, ' ');
                var httpType = HttpContextHelper.GetRequestType().PadRight(5, ' ');
                var msg      = string.Format("[{1}]:{3}{2} {0}{4}", actionName, treeId
                                             , ip, httpType, filterContext.ActionParameters.ToJson());
                _log.Debug(msg);
            }
            catch (Exception ex)
            {
                _log.Error(ex);
            }
        }