From 433d6ab8ed0d177a9cb2d5b5dcd464b150f1b08f Mon Sep 17 00:00:00 2001 From: bicijinlian Date: Tue, 29 Nov 2022 17:53:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=AE=E9=80=9A=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LogStudy.EventLog.Next/Program.cs | 31 +++++++++++++++++++ LogStudy.EventLog/Program.cs | 9 ++++-- .../收集和查看事件日志.md | 2 +- LogStudy.TraceLog/Program.cs | 6 ++-- LogStudy.TraceLog/{study.md => 学习.md} | 0 LogStudy.TraceLog/查看跟踪日志.md | 20 ++++++++++++ 6 files changed, 61 insertions(+), 7 deletions(-) rename LogStudy.TraceLog/{study.md => 学习.md} (100%) create mode 100644 LogStudy.TraceLog/查看跟踪日志.md diff --git a/LogStudy.EventLog.Next/Program.cs b/LogStudy.EventLog.Next/Program.cs index 22b7065..2e37069 100644 --- a/LogStudy.EventLog.Next/Program.cs +++ b/LogStudy.EventLog.Next/Program.cs @@ -7,6 +7,37 @@ namespace LogStudy.EventLog.Next static void Main(string[] args) { Console.WriteLine("======== 高级事件日志学习 ========"); + + //UseTest(); + UseDefaultSource(); + + + Console.WriteLine("按回车键,退出!"); + //Console.ReadLine(); + } + + static void UseTest() + { + EventSource defaultEventSource = new EventSource("Demo"); + + defaultEventSource.Write("xxxxx","xxxxxxxxxxxxxxxxxxxxxxxx"); + } + + static void UseDefaultSource() + { + EventSourceSettings settings = EventSourceSettings.EtwSelfDescribingEventFormat | EventSourceSettings.ThrowOnEventWriteErrors; + EventSource defaultEventSource = new EventSource("Andy-DemoTest", settings, new string[] { "First", "Second" }); + + EventSourceOptions options = new EventSourceOptions() + { + Keywords= EventKeywords.All, + Level = EventLevel.Verbose, + Opcode = EventOpcode.Info, + Tags = EventTags.None, + ActivityOptions = EventActivityOptions.Recursive, + }; + + defaultEventSource.Write("xxxxx", options, "000000000000000000000000000000000000000000000000"); } } } \ No newline at end of file diff --git a/LogStudy.EventLog/Program.cs b/LogStudy.EventLog/Program.cs index 3cc2250..be59727 100644 --- a/LogStudy.EventLog/Program.cs +++ b/LogStudy.EventLog/Program.cs @@ -13,9 +13,8 @@ namespace LogStudy.EventLog { Console.WriteLine("======== 事件日志学习 ========"); - MinimalEventSource minimalEventSource = MinimalEventSource.Log; - minimalEventSource.Write("MiniEventSource", "-----------------------------------------------------"); + minimalEventSource.Write("MiniEventSource", "--------------------------------"); var evtSource = new EventSource("AndyEvent"); @@ -25,6 +24,7 @@ namespace LogStudy.EventLog DatabaseSource.Instance.OnCommandExecute("我是自定义事件日志!"); WriteWindowsOSLog(); + Console.WriteLine("输入回车键,退出程序。"); Console.ReadLine(); } @@ -34,12 +34,15 @@ namespace LogStudy.EventLog /// 需要引入 System.Diagnostics.EventLog 包 /// (需要管理员权限运行) /// + /// + /// 查看:Windows操作系统的 "事件查看器" --> 应用程序和服务日志 --> AndyLog:右侧日志记录列表 + /// static void WriteWindowsOSLog() { //只有Windows系统,才可以。 if (OperatingSystem.IsWindows()) { - var sourceName = "AndySource"; + var sourceName = "Andy-Windows-SystemLog-Source"; var logName = "AndyLog"; if (!System.Diagnostics.EventLog.SourceExists(sourceName)) diff --git a/LogStudy.EventLog/收集和查看事件日志.md b/LogStudy.EventLog/收集和查看事件日志.md index 19dc60c..cfaa527 100644 --- a/LogStudy.EventLog/收集和查看事件日志.md +++ b/LogStudy.EventLog/收集和查看事件日志.md @@ -76,7 +76,7 @@ namespace EventSourceDemo 4. 选择“确定”以确认配置设置 5. 选择“开始”以开始运行应用并收集日志 6. 选择“停止收集”或退出应用以停止收集日志并显示收集的数据 - + > 特别注意:改了事件源的名称之后,一定要把GUID改了或者删除(删除后会自动生成),否则“探查器”监测不到新事件日志 + 查看跟踪 diff --git a/LogStudy.TraceLog/Program.cs b/LogStudy.TraceLog/Program.cs index 408932e..8663c35 100644 --- a/LogStudy.TraceLog/Program.cs +++ b/LogStudy.TraceLog/Program.cs @@ -3,11 +3,11 @@ using LogStudy.TraceLog; Console.WriteLine("======== 跟踪日志学习 ========"); -//UseDefaultListener(); +UseDefaultListener(); -//UseCustomListener(); +UseCustomListener(); -//UseCustomListener2(); +UseCustomListener2(); UseSystemListener(); diff --git a/LogStudy.TraceLog/study.md b/LogStudy.TraceLog/学习.md similarity index 100% rename from LogStudy.TraceLog/study.md rename to LogStudy.TraceLog/学习.md diff --git a/LogStudy.TraceLog/查看跟踪日志.md b/LogStudy.TraceLog/查看跟踪日志.md new file mode 100644 index 0000000..32861c1 --- /dev/null +++ b/LogStudy.TraceLog/查看跟踪日志.md @@ -0,0 +1,20 @@ +查看跟踪日志 +============ +## 使用 诊断工具 +1. 打开:诊断工具窗口 + Visual Studio 菜单栏 --> 调试 --> 窗口 --> 显示诊断窗口 +2. 设置 IntelliTrace,诊断窗口的内容包含跟踪项 + + Visual Studio 菜单栏 --> 工具 --> 选项 --> IntelliTrace --> 常规 --> 启用 + + Visual Studio 菜单栏 --> 工具 --> 选项 --> IntelliTrace --> IntelliTrace 事件 --> 跟踪:全选或按需选择 +3. 查看: + + 命中断点时:在诊断工具的事件里可以查看详情 + + 运行之后:在诊断工具的事件里中,可以查看:只是有个历史记录,没有详情; +## 跟踪监听器 +使用自定议的跟踪监听器或预定义的TraceListener + +## 使用 VS性能探查器 +目前测试的结果是:PerView不能收集到跟踪日志信息,只能收集到事件日志。 + +## PerView + +目前测试的结果是:PerView不能收集到跟踪日志信息,只能收集到事件日志。 \ No newline at end of file