服务器要求定期巡检,并记录日志发送次数。

代码如下:

static void Main(string[] args)
    {
            Console.WriteLine("请输入检索的日志月份(如2023-01):");
            var month =  Console.ReadLine();
            new EventWatch(month).OutputSystemLogs();
            Console.ReadLine();
    }

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;

namespace SystemEventClassLibrary
{
    public class EventWatch
    {
        Stopwatch sw = new Stopwatch();

readonly DateTime dateFrom = new DateTime();
        readonly   DateTime dateTo = new DateTime();

Dictionary<long, int> EventResult = new Dictionary<long, int>();//{ { 4624,0}, { 4625, 0 }, { 4719, 0 }, { 4698, 0 }, { 1102, 0 }, };
 
        public EventWatch(string month )
        {

var watchEventID = System.Configuration.ConfigurationManager.AppSettings["EventID"];

var _eventList = watchEventID.Split(new char[] { ',' });
            foreach ( var _eventID in _eventList ) {

EventResult.Add( long.Parse( _eventID), 0);
            }

var fromDay = System.DateTime.Now.ToString("yyyy-MM-01");
            if (!string.IsNullOrEmpty(month))
            {
                if (month.Length == 7)
                {
                    fromDay = string.Format("{0}-01", month);
                }
                else if (month.Length == 6) {
                    fromDay = string.Format("{0}-{1}-01", month.Substring(0,4), month.Substring(4,2));
                }
            }

dateFrom = DateTime.Parse(fromDay);

dateTo = dateFrom.AddMonths(1);

}

public   void OutputSystemLogs()
        {
            try
            {
                sw.Start();

var logName = System.Configuration.ConfigurationManager.AppSettings["EventName"];//

System.Console.WriteLine(string.Format("开始检索{0}日志,{1}~{2},事件ID({3})",
                    logName,
                    dateFrom, dateTo,
                    System.Configuration.ConfigurationManager.AppSettings["EventID"]));

System.Diagnostics.EventLog eventLogSecurity = new System.Diagnostics.EventLog();

if (!string.IsNullOrEmpty(logName))
                {
                    eventLogSecurity.Log = logName;
                }

System.Diagnostics.EventLogEntryCollection collection = eventLogSecurity.Entries;

int Count = collection.Count;

if (collection != null && collection.Count > 0)
                {

foreach (System.Diagnostics.EventLogEntry entry in collection)
                    {
                        if (DateTime.Compare(entry.TimeGenerated, dateFrom) >= 0 &&
                            DateTime.Compare(entry.TimeGenerated, dateTo) < 0
                            ) 
                        { 
                            if (EventResult.Keys.Count(t => t == entry.InstanceId) > 0)
                            {
                                EventResult[entry.InstanceId]++;
                            }
                        }
                        else
                        {
                            //break;
                        }
                    }
                    
                    OutPut();
                }

}
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.Message);

}
            finally {

sw.Stop();

System.Console.WriteLine( string.Format("运行结束,耗时:{0} 毫秒", sw.ElapsedMilliseconds.ToString()));

}

}

private   void OutPut()
        {
            string content = string.Format("系统日志巡检周期:{0}至{1}",  dateFrom, dateTo);
            for (int i = 0; i < EventResult.Count; i++)
            {
                var key = EventResult.ElementAt(i).Key;

var curLing = string.Format("事件ID:{0} 数量:{1}", key, EventResult == null ? 0 : EventResult[key]);
                content += Environment.NewLine + curLing;
                System.Console.WriteLine(curLing);
            }

string fileName = System.IO.Path.Combine(Environment.CurrentDirectory, System.DateTime.Now.ToString("yyyyMMddHHmmssfff") + "log.txt");
            System.IO.File.WriteAllText(fileName, content);
        }
    }
}

运行画面如下:

exe下载地址:https://download.csdn.net/download/moonshineidolon/87932664

统计Windows系统日志相关推荐

  1. Windows系统日志

    目录 Windows系统日志 简介 分类 按照审核对象分类 查看系统日志方式 通过C盘路径查找 通过win+r,输入eventvwr.msc进入事件查看器 事件类型 事件ID 日志保存格式 登录类型 ...

  2. C#写Windows系统日志(EventLog)

    .NET framework 2.0开始,可以使用 EventLog构造函数在Windows系统日志里添加内容,一切看上去是如此的简单.只是-- 会涉及到一点点的权限问题,必须要注意一下. 使用 Ev ...

  3. 《ELK Stack权威指南(第2版)》一3.5 Windows系统日志

    本节书摘来自华章出版社<ELK Stack权威指南(第2版)>一书中的第3章,第3.5节,作者 饶琛琳  更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.5 ...

  4. windows系统日志查询

    系统日志是用于记录系统中硬件.软件和系统问题.监视系统中发生事件的信息.分为系统日志.应用程序日志和安全日志.用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹. Windows系 ...

  5. win7产生大量evtx文件_闲聊Windows系统日志

    原标题:闲聊Windows系统日志 * 本文作者:TomKing,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 最近遇到不少应急都提出一个需求,能不能溯源啊?这个事还真不好干,你把证据,犯 ...

  6. Windows系统日志收集

    方案 采用nxlog+fluentd+elasticsearch组件.nxlog 是用 C 语言写的一个跨平台日志收集处理软件,其内部支持使用 Perl 正则和语法来进行数据结构化和逻辑判断操作.nx ...

  7. java输出windows系统日志_闲聊Windows系统日志

    title: "闲聊Windows系统日志" date: 2021-02-22T18:59:49+08:00 draft: true tags: ['windows'] autho ...

  8. Event Viewer 查看 Windows 系统日志

    打开 Event Viewer 开始菜单搜索"Event Viewer", 打开 Event Viewer, 左边栏的树形图找到"Application and Serv ...

  9. Windows系统日志文件分析

    日志文件,它记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用.但许多用户不注意对它保护,一些"不速之客"很轻易就将日志文件 ...

最新文章

  1. 开放下载!《阿里云存储白皮书》全面解读阿里云存储二十年的技术演进
  2. “后见之明”是冰冷刻薄的讥讽;这是一种病,得治。
  3. python代码怎么变成软件_Python变成技术
  4. 如何低格台式计算机的硬盘,最新[电脑如何格式化]台式机如何格式化本地磁盘.doc...
  5. Servlet打印HTML页面乱码问题
  6. LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE转换--UTL_RAW、DBMS_STATS.CONVERT_RAW_VALUE
  7. 总结——达内视频(三)
  8. 什么软件测试电脑分辨率,分辨率测试卡
  9. 【捡肥皂】,sql挂起清除工具 MS SQL2000挂起工具,无毒绿色,MSSQL手动清除挂起方法
  10. Linux三剑客之SED
  11. win10显示rpc服务器不可用,win10系统RpC服务器不可用的详细办法
  12. 服务器iscsi如何修复,服务器重启后,iSCSI目标卡住了重新连接
  13. 腾讯bugly热更新接入
  14. Gradle sync failed: No variants found for ':app'. Check build files to ensure at least one varian...
  15. 《2015互联网安全年报》,移动端成重灾区,黑灰产日益成熟
  16. excel 作图-- 主次纵坐标轴 横坐标名称太长
  17. 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool
  18. Matlab中mesh和surf的区别
  19. 高晓松50岁生日感言:可感恩的很多,可原谅的很少
  20. 一名果黑的Mac装机必备

热门文章

  1. 应收票据、存货的核算
  2. 招投标中的常见经验和技巧
  3. ubuntu java 关闭进程_如何在Ubuntu中关闭Tomcat?
  4. MySQL中的limit分页优化
  5. 《孔子》主題歌《幽蘭操》與原詩
  6. likely() 和 unlikely() 判断语句
  7. 用PowerShell批量收回wsp包
  8. 刻录CD-R:cdrecord 和cdparanoia之Linux基本的应用程序
  9. 鸟哥 Linux 私房菜学习心得(一)
  10. NS2仿真:使用NS仿真软件模拟简单网络模型