C# 确认程序日志和系统日志是否有发生某个事件

       

公司服务器有时候会发生异常,为了实时监控异常事件发生,方法如下:

使用时加一个timer循环调用该方法即可:

event_check(3, 10016, EventLogEntryType.Warning, "System");//检查当前时间往前推3小时候内本机是否有发生10016事件

#region[程序和系统日志确认]
        /// <summary>
        /// 程序和系统日志确认
        /// </summary>
        /// <param name="time_interval">时间差</param>
        /// <param name="event_id">事件ID</param>
        /// <param name="event_type">事件等级</param>
        /// <param name="LogType">"Application", "System"</param>
        /// <returns></returns>
        private bool event_check(int time_interval, int event_id, EventLogEntryType event_type, string LogType)
        {
            try
            {
                EventLog m_ALLLog = new EventLog();
                m_ALLLog.Log = LogType;
                foreach (EventLogEntry m_Log in m_ALLLog.Entries)
                {
                    if ((m_Log.EntryType == event_type) && (m_Log.InstanceId == event_id) && (DateTime.Now.Subtract(m_Log.TimeGenerated).TotalHours < time_interval))//eventid已弃用,改用InstanceId
                    {
                        return true;//有发生
                    }
                }
                return false;
            }
            catch (Exception ex)
            {
                return true;//异常时默认回复true,人员会确认问题
            }
        }
        #endregion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值