尝试从控制台应用程序写入事件日志时,我不断收到此错误消息.这是我写给它的方式
public static void WriteToEventLog(Exception ex)
{
string mySource = "Export Task";
if (!EventLog.SourceExists(mySource))
EventLog.CreateEventSource(mySource, "Application");
EventLog myLog = new EventLog();
myLog.Source = mySource;
myLog.WriteEntry(ex.ToString());
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样,以及我如何解决它?
我试图使用ETW函数没有成功读取文件C:\ Windows\System32\winevt\Logs\Microsoft-Windows-Diagnostics-Performance%4Operational.evtx以捕获启动时事件.我尝试了各种功能 -
有没有人有一个读取系统跟踪文件的本机代码示例?
当我写日志到Windows事件日志时:
System.Diagnostics.EventLog.WriteEntry("SourceName", a_long_string);
Run Code Online (Sandbox Code Playgroud)
我得到以下例外:
日志条目字符串太长.写入事件日志的字符串不能超过32766个字符.
然后我将我的日志消息拆分为2个或更多字符串.但我认为这不是一个好主意.任何变通方法?(例如extern每个日志条目的限制)
今天我们遇到一个客户遇到了Windows服务的问题,这些服务是他们下载并安装了更新版本的产品之后的一部分.
他们在Windows Server 2003 R2(Service Pack 2)计算机上运行该服务,该计算机上安装了.NET 2.0(这是该服务器上最新版本的.NET Framework).
安装产品更新并重新启动服务后,它几乎立即崩溃,并将以下错误信息记录到Windows事件日志中:
Event Type: Error Event Source: .NET Runtime 2.0 Error Reporting Event Category: None Event ID: 5000 Date: 8/13/2012 Time: 11:46:23 AM User: N/A Computer: Description: EventType clr20r3, P1 our-service-name-redacted.exe, P2 2.6.31.0, P3 4fcd090b, P4 mscorlib, P5 2.0.0.0, P6 4889dc80, P7 e38, P8 1e8, P9 pszqoadhx1u5zahbhohghldgiy4qixhx, P10 NIL.
现在,其他一些客户正在运行相同版本的Windows服务而没有任何问题(在不同版本的Windows上),我在运行Windows Server 2003 R2(Service Pack 2)的虚拟机上测试了该服务,但没有遇到此问题问题,但对于这个单一客户而言,它始终如一.
所以,这不是"我的代码出了什么问题?" 问题:我对这个错误信息有两点感兴趣,我觉得很奇怪:
对此有一般性的解释吗?我尝试使用谷歌搜索,但没有太多的运气,因为很难搜索"P9垃圾"和类似的东西,并获得任何有用的东西.特别是,我真的很好奇P9的"乱码"值是什么意思.例如,这可能暗示他们的.NET安装已损坏,或者这种"胡言乱语"实际意味着什么?
此外,我有点惊讶故障模块是mscorlib而不是我们自己的程序集之一,这让我再次想知道客户的.NET安装是否已损坏,或者是否有病毒或其他恶意软件潜伏在他们的服务器上.
因此,如上所述,对于这个相当奇怪的错误报告和P9"乱码",或者我应该尝试除了尝试在WinDbg中进行故障转储和调试之外的任何特定故障排除步骤,是否有任何常见的解释?
我在Windows 8应用程序和平铺通知方面遇到了一些问题.我让他们工作但有时几天或更长时间后瓷砖停止更新.
http://msdn.microsoft.com/en-au/library/windows/apps/hh465403.aspx
您可以使用事件日志在未显示磁贴通知时检查错误.在"应用程序和服务日志"下的"事件查看器"中查找涉及您的磁贴通知的事件
Microsoft> Windows> Immersive-Shell> Microsoft-Windows-TWinUI> Operational.
文档提到了事件日志,但是当我看到我的机器上不存在该节点时.假设它已被移动且文档未更新.我在哪里可以看到事件日志中的Tile Notification错误?
我一直在尝试在.net 4.0中使用ETW.
我已经开始使用Microsoft EventSource Library 1.0.4-beta(https://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.EventSource)
这是我为我的应用程序生成事件而编写的代码.
[EventSource(Name = "Samples-EventSourceDemos-EventSourceLogger")]
public sealed class EventSourceLogger : EventSource
{
public static EventSourceLogger Log = new EventSourceLogger();
public static string GetManifest()
{
return GenerateManifest(typeof(EventSourceLogger), null);
}
[Event(200, Level = Microsoft.Diagnostics.Tracing.EventLevel.Informational, Task = EventTask.None, Version = 1,
Opcode = EventOpcode.Info, Keywords = EventKeywords.None, Channel = EventChannel.Admin,
Message = "Test Message")]
public void LogEtwInfoEventMessage(string jsonArgs)
{
if (!this.IsEnabled()) return;
this.WriteEvent(200, jsonArgs);
}
[Event(400, Level = Microsoft.Diagnostics.Tracing.EventLevel.Error, Task = EventTask.None, Version = 1,
Opcode …Run Code Online (Sandbox Code Playgroud) 我正在编写一个PowerShell脚本,它计算了某一天中4624个EventID的数量,但是当我按日期对信息进行分组时,我迷路了.有没有人可以帮助我?我的输出应该包含当天登录的日期和数量,仅此而已.
这是我的代码:
Get-EventLog "Security" -Before ([DateTime]::Now) |
Where -FilterScript {$_.EventID -eq 4624}
Run Code Online (Sandbox Code Playgroud) 我想以编程方式在C#应用程序中创建自定义Eventlog视图。
这是如何在Microsoft Windows的Eventlog应用程序的帮助下创建自定义Eventlog视图的方法:

我在类中搜索了System.Diagnostics.EventLog一种方法,该方法的作用与Microsoft在Eventlog应用程序中找到的按钮相同。可悲的是,我找不到满足我需求的任何功能。
有没有人以编程方式在C#中创建自定义Eventlog视图,或者知道一种有效的方法?
我想使用登录我的C++应用程序.但是,我想使用Windows(10)事件查看器而不是文本文件.我发现了一些奇怪的调用,我甚至不知道参数的含义--ReportEvent,OpenEventLog和其他一些事件记录功能.由于我的应用程序存在一些限制,我也无法使用托管代码.
我也试过在这个链接上使用代码,但是我得到编译错误(命名空间'系统'未定义 - 似乎有些包含文件丢失了......).
我发现没有可用的示例代码.
如果可能的话,我将非常感谢示例代码 - 只需从本地应用程序进行简单的日志记录,使用非托管C++构建.有人可以帮忙吗?
我有CSV由三列的事件日志timestamp,eventId和userId.
我想要做的是nextEventId在数据框中添加一个新列.
一个示例事件日志:
eventlog = sqlContext.createDataFrame(Array((20160101, 1, 0),(20160102,3,1),(20160201,4,1),(20160202, 2,0))).toDF("timestamp", "eventId", "userId")
eventlog.show(4)
|timestamp|eventId|userId|
+---------+-------+------+
| 20160101| 1| 0|
| 20160102| 3| 1|
| 20160201| 4| 1|
| 20160202| 2| 0|
+---------+-------+------+
Run Code Online (Sandbox Code Playgroud)
期望的结果将是:
|timestamp|eventId|userId|nextEventId|
+---------+-------+------+-----------+
| 20160101| 1| 0| 2|
| 20160102| 3| 1| 4|
| 20160201| 4| 1| Nil|
| 20160202| 2| 0| Nil|
+---------+-------+------+-----------+
Run Code Online (Sandbox Code Playgroud)
到目前为止,我一直在搞滑动窗口,但无法弄清楚如何比较2行......
val w = Window.partitionBy("userId").orderBy(asc("timestamp")) //should be a sliding window over 2 rows...
val nextNodes = second($"eventId").over(w) …Run Code Online (Sandbox Code Playgroud) event-log ×10
.net ×2
c++ ×2
etw ×2
.net-2.0 ×1
.net-4.0 ×1
apache-spark ×1
asp.net ×1
c# ×1
clr ×1
dataframe ×1
event-id ×1
event-viewer ×1
exception ×1
powershell ×1
scala ×1
security ×1
windows-10 ×1
windows-7 ×1
windows-8 ×1