Ejemplo n.º 1
0
        public static void WriteToDbAndFile(dynamic ex, LogType type, string orgId = null, string IatiIdentifier = null, string message = null)
        {
            try
            {
                if (message == null) message = ex.Message;

                Log log = new Log();
                log.DateTime = DateTime.Now;
                log.OrgId = orgId;
                log.IatiIdentifier = IatiIdentifier;
                log.Message = message;
                log.LogType = type.GetHashCode();

                using (TextWriter writer = new StringWriter())
                {
                    try
                    {
                        new JsonSerializer().Serialize(new JsonTextWriter(writer), ex);
                        log.ExceptionObj = writer.ToString();
                    }
                    catch { }
                }

                new AimsDbIatiDAL().InsertLog(log);
            }
            catch { }
            finally
            {
                Write(type + " " + message);
            }
        }
Ejemplo n.º 2
0
        public static int CalculateHashCode(LogType type, string logString, string stackTrace)
        {
            var hashCode = type.GetHashCode();

            hashCode = (hashCode * 397) ^ (logString?.GetHashCode() ?? 0);
            hashCode = (hashCode * 397) ^ (stackTrace?.GetHashCode() ?? 0);
            return(hashCode);
        }
            /// <summary>
            ///     HashCode implemented in a way to return equality if the target to check is the same
            /// </summary>
            /// <returns>HashCode of the target</returns>
            public override int GetHashCode()
            {
                var result = 37;

                result *= 397;
                result += Type.GetHashCode();

                result *= 397;
                result += Message.GetHashCode();

                return(result);
            }
Ejemplo n.º 4
0
        /// <summary>
        /// 记录操作日志
        /// </summary>
        /// <param name="opType">操作类型</param>
        /// <param name="content">日志内容</param>
        /// <param name="logtype">日志类型</param>
        public void Log(string opType, string content, LogType logtype)
        {
            Log log = new Log();

            log.LogType     = Convert.ToByte(logtype.GetHashCode());
            log.Content     = content;
            log.IPAddress   = MyContext.UserIP;
            log.OperateName = MyContext.CurrentUser.FullName;
            log.OperateTime = DateTime.Now;
            log.OperateCode = opType;
            log.OperateUID  = MyContext.Identity;
            Log(log);
        }
Ejemplo n.º 5
0
        public PagedList <Log> QueryOperLog(PageView view, string qtext, string optype, LogType logtype)
        {
            string where = "";

            if (logtype != LogType.None)
            {
                where += " and LogType=" + logtype.GetHashCode();
            }
            if (!string.IsNullOrEmpty(optype))
            {
                where += " and OperateCode='" + optype + "'";
            }
            if (!string.IsNullOrEmpty(qtext))
            {
                where += " and [Content] like '%" + qtext + "%'";
            }
            StoredProcedure sp = StoredProcedures.SP_PAGESELECT(where, view.PageSize, view.PageIndex
                                                                , "[Logs]", "[Id],[Content],[OperateCode],[LogType],[OperateUID],[OperateName],[IPAddress],[OperateTime]", "[Id]",
                                                                "Order By Id DESC");
            var pl = new PagedList <Log>();

            pl.DataList = new List <Log>();
            using (IDataReader dr = base.SPExecuteDataReader(sp))
            {
                while (dr.Read())
                {
                    Log log = new Log();
                    log.Id = dr.GetInt32(0);

                    log.Content     = dr.IsDBNull(1) ? "" : dr.GetString(1);
                    log.OperateCode = dr.GetString(2);
                    log.LogType     = dr.GetByte(3);
                    log.OperateUID  = dr.GetString(4);
                    log.OperateName = dr.GetString(5);
                    log.IPAddress   = dr.GetString(6);
                    log.OperateTime = dr.GetDateTime(7);

                    log.IsNew = false;
                    pl.DataList.Add(log);
                }
            }

            if (view.PageIndex == 0)
            {
                pl.Total = Convert.ToInt32(sp.GetParameterValue(sp.ParamsCount - 1));
            }
            pl.PageIndex = view.PageIndex;


            return(pl);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Serves as a hash function for a particular type.
 /// </summary>
 /// <returns>
 /// A hash code for the current <see cref="T:System.Object"/>.
 /// </returns>
 /// <filterpriority>2</filterpriority>
 public override int GetHashCode()
 {
     unchecked
     {
         int result = LogType.GetHashCode();
         result = (result * 397) ^ (LogVersion != null ? LogVersion.GetHashCode() : 0);
         result = (result * 397) ^ IsLogRetentionPolicyEnabled.GetHashCode();
         result = (result * 397) ^ LogRetentionInDays;
         result = (result * 397) ^ (MetricsVersion != null ? MetricsVersion.GetHashCode() : 0);
         result = (result * 397) ^ IsMetricsRetentionPolicyEnabled.GetHashCode();
         result = (result * 397) ^ MetricsRetentionInDays;
         return(result);
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Returns a hash code for this instance.
        /// </summary>
        /// <returns>
        /// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
        /// </returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap.
            {
                int hash = 17;
                hash = hash * 23 + Action?.GetHashCode() ?? 0;
                hash = hash * 23 + DateTime.GetHashCode();
                hash = hash * 23 + IsException.GetHashCode();
                hash = hash * 23 + LogType?.GetHashCode() ?? 0;
                hash = hash * 23 + Message?.GetHashCode() ?? 0;

                return(hash);
            }
        }
Ejemplo n.º 8
0
        public PagedList<Log> QueryOperLog(PageView view, string qtext, string optype, LogType logtype)
        {
            string where = "";

            if (logtype != LogType.None)
            {
                where += " and LogType=" + logtype.GetHashCode();
            }
            if (!string.IsNullOrEmpty(optype))
            {
                where += " and OperateCode='" + optype + "'";
            }
            if (!string.IsNullOrEmpty(qtext))
            {
                where += " and [Content] like '%" + qtext + "%'";
            }
            StoredProcedure sp = StoredProcedures.SP_PAGESELECT(where, view.PageSize, view.PageIndex
              , "[Logs]", "[Id],[Content],[OperateCode],[LogType],[OperateUID],[OperateName],[IPAddress],[OperateTime]", "[Id]",
              "Order By Id DESC");
            var pl = new PagedList<Log>();
            pl.DataList = new List<Log>();
            using (IDataReader dr = base.SPExecuteDataReader(sp))
            {
                while (dr.Read())
                {
                    Log log = new Log();
                    log.Id = dr.GetInt32(0);

                    log.Content = dr.IsDBNull(1) ? "" : dr.GetString(1);
                    log.OperateCode = dr.GetString(2);
                    log.LogType = dr.GetByte(3);
                    log.OperateUID = dr.GetString(4);
                    log.OperateName = dr.GetString(5);
                    log.IPAddress = dr.GetString(6);
                    log.OperateTime = dr.GetDateTime(7);

                    log.IsNew = false;
                    pl.DataList.Add(log);
                }
            }

            if (view.PageIndex == 0)
            {
                pl.Total = Convert.ToInt32(sp.GetParameterValue(sp.ParamsCount - 1));
            }
            pl.PageIndex = view.PageIndex;

            return pl;
        }
Ejemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="resid"></param>
        /// <param name="message"></param>
        /// <param name="type"></param>
        /// <param name="ip"></param>
        public void Add(cmsUser user, string resid, string message, LogType type, string ip)
        {
            if (user == null)
            {
                return;
            }

            long uid = user.Id;

            cmsLog log = new cmsLog()
            {
                UserId  = uid,
                ResId   = resid,
                Message = message,
                LogType = type.GetHashCode(),
                LogIp   = ip,
                AddTime = DateTime.Now,
            };

            AddModel(log);
        }
Ejemplo n.º 10
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Msgid != 0)
            {
                hash ^= Msgid.GetHashCode();
            }
            if (LogType != 0)
            {
                hash ^= LogType.GetHashCode();
            }
            if (LogStr.Length != 0)
            {
                hash ^= LogStr.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 11
0
 public override int GetHashCode()
 {
     return(Message.GetHashCode() ^ LogType.GetHashCode());
 }
Ejemplo n.º 12
0
 /// <summary>
 /// 记录操作日志
 /// </summary>
 /// <param name="opType">操作类型</param>
 /// <param name="content">日志内容</param>
 /// <param name="logtype">日志类型</param>
 public void Log(string opType, string content, LogType logtype)
 {
     Log log = new Log();
     log.LogType = Convert.ToByte(logtype.GetHashCode());
     log.Content = content;
     log.IPAddress = MyContext.UserIP;
     log.OperateName = MyContext.CurrentUser.FullName;
     log.OperateTime = DateTime.Now;
     log.OperateCode = opType;
     log.OperateUID = MyContext.Identity;
     Log(log);
 }