我曾在我已经在事件日志中实现异常处理的商店中工作,并在数据库中的表中工作.
每个都有它们的优点,我可以根据我的经验强调一些:
事件簿
SQL /数据库
我错过了任何重大考虑因素吗?
我敢肯定,其中一些问题值得商榷,但我很好奇对其他团队最有效的方法,以及为什么你对选择感到强烈.
我正在尝试为我的cmd行应用程序创建一个事件记录器.但是,当它第一次尝试创建日志时,我收到此错误.
找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性.
所以我发现这是因为Windows 7和一些新的安全性.所以现在我必须给.exe管理员权限.
有没有解决方法,所以它不需要管理员权限?我不知道如果他们必须满足于使用管理员权限运行我的应用程序,人们是否会感觉太好.
我打算稍后将它放在Windows 2008机器上,所以我猜它会遇到同样的问题.
我正在尝试使用mc.exe为我的事件日志编写程序创建消息文件.但即使是Microsoft提供的示例消息文件也无法编译.谁知道如何编写可以由mc.exe编译的消息文件?
编辑:我得到的错误信息是:
msgs.mc(1) : error : expected keyword
- ??
Run Code Online (Sandbox Code Playgroud)
编辑2:问题解决了.mc.exe只能支持Unicode或ANSI编码的源文件.我的文件编码为UTF8.而已.
谢谢.
在ASP .NET项目(C#)上,我使用System.Diagnostics命名空间来记录错误,警告和信息.使用Windows 7我看到我为项目设置的日志位于"应用程序和服务日志"下.如何设置代码以创建文件夹并将其放在"应用程序和服务日志[某些文件夹] \应用程序和服务日志"下,例如?
我正在重写用于linux的ac程序,现在我将在windows上重用它,我写了一个bat文件.我以管理员身份运行此文件,然后发生错误:syslog.h:没有这样的文件或目录.
你能给我一些建议吗?谢谢.
到目前为止,我的所有应用程序都只记录到文件.它对我来说很好,我从来没有遇到任何问题.
我的一位朋友建议我也可以使用Windows事件日志,但我不确定.我一直认为事件日志只适用于一些非常重要的消息,如果可以避免,我不应该写入.
我什么时候可以/我应该写入窗口事件日志?
有没有办法在生成(C#)时观察"应用程序和服务"的事件?我发现我不能使用WMI.
还有其他想法吗?
我们知道,我们可以使用EventLog类来编写事件日志,但我对如何在事件日志中编写类别名称感到困惑.它提供了category参数,例如,WriteEntry类型之一是:
public void WriteEntry(
string message,
EventLogEntryType type,
int eventID,
short category
Run Code Online (Sandbox Code Playgroud)
)
它只是在我的日志中显示数字.为什么类别的类型很短,而不是字符串?如何在事件查看器中显示类别名称?谢谢!顺便说一句,我们不会创建自定义CategoryMessageFile.
我们最近将生产箱从Windows 2003服务器升级到Windows 2008.除事件记录外,一切正常.我们为每条消息记录最多32000字节的数据.
在2008服务器上,如果字符数大于31885,事件记录将失败.这是Windows 2008 R2服务器上的新限制吗?
在Win 2003服务器上,我能够为每个日志条目记录32000字节的数据.
我的任务是使用"Microsoft Windows安全审计"提供的事件创建一个ETW实时消费者.
我做了一个简单的控制器和消费者应用程序,基于这个例子http://msdn.microsoft.com/en-us/library/windows/desktop/ee441325%28v=vs.85%29.aspx 和改变标志工作实时模式.
主要功能看起来像这样:
LPTSTR SessionName = L"hahahaaa";
ULONG status = ERROR_SUCCESS;
PEVENT_TRACE_PROPERTIES pSessionProperties = NULL;
EVENT_TRACE_LOGFILE trace;
TRACEHANDLE hTrace = 0;
TRACEHANDLE hSession = 0;
const GUID providerId = { 0x54849625, 0x5478, 0x4994, { 0xA5, 0xBA, 0x3E, 0x3B, 0x03, 0x28, 0xC3, 0x0D } };
//const GUID providerId = { 0xA68CA8B7, 0x004F, 0xD7B6, { 0xA6, 0x98, 0x07, 0xE2, 0xDE, 0x0F, 0x1F, 0x5D } };
HANDLE hToken = NULL;
HANDLE hProcess = NULL;
hProcess = GetCurrentProcess();
if (OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, …Run Code Online (Sandbox Code Playgroud)