使用EventLogUtil工具操作系统日志
作者:郑佐
日期:2007-7-23
概述
EventLogUtil
是一款操作Windows系统日志的命令行工具,基于.NET Framework 2.0实现。笔者写这个工具的最初目的是来解决部署
ASP.NET程序
时没有创建事件日志或事件源权限的问题,系统部署人员可以通过EventLogUtil工具来简单的实现事件日志和事件源的创建。后来笔者发现在调试和运维系统的时候存在分类过滤导出数据的需求,对该功能进行了实现,同时实现文件写入日志功能。
使用帮助
通过在CMD控制台中执行EventLogUtil -?命令可以显示一下内容。
Zhengzuo (R) .NET Framework EventLog utility Version 1.0.0.0
Copyright (c) Zhengzuo. All rights reserved.
http://blog.csdn.net/zhzuo
EventLogUtil [-CLLogName] [-CSSource] [-DLLogName] [-DSSource] [-L[LogName]] [-T{E|F|I|S|W}] [-W] [-O] [-FFilename|-MMessage] [-?]
-CLLogName
创建事件日志,LogName指定需要创建的事件日志
-CSSource
创建事件源,需要同-CL命令一起使用,Source指定需要创建的事件源名称
-DLLogName
删除事件日志,单独使用该命令,LogName指定需要删除的事件日志
-DSSource
移除事件源,单独使用该命令,Source需要移除事件源注册命名
-L[LogName]
显示事件日志列表,如果不指定事件日志名称显示当前系统现有日志列表,指定LogName显示该EvengLog的详细信息
-T{E|F|I|S|W}
指定事件日志项的事件类型,E-错误F-失败,I-信息,S-成功,W-警告,配合-W,-O命令
-GLogName
指定事件日志,配合-CS,-O命令
-SSource
指定事件源注册,配合-W,-O命令
-W
写消息到指定事件源,需要指定[-F|-M]参数,如果没有使用-T参数则默认为Information
-O
导出消息到文件,需要指定-F参数,如果没有使用-T参数则不进行过滤
-FFilename
指定消息文件命名,同-W,-O一起使用
-MMessage
指定消息,同-W一起使用
-?
显示EventLogUtil工具使用帮助,单独使用该命令
常见命令
按顺序执行以下命令:
一.创建事件日志、同时注册事件源到该日志。事件日志为“TestEventLog”,事件源为“TestSource”。
命令:EventLogUtil -CLTestEventLog -CSTestSource
结果:事件日志“TestEventLog”创建成功,事件源“TestSource”注册成功
二.注册事件源“TestSource”到事件日志“TestEventLog”。
命令:EventLogUtil -GTestEventLog -CSTestSource
结果:注册失败,已有事件源“TestSource”注册,相关事件日志为“TestEventLog”
三.注册事件源“TestSource1”到事件日志“TestEventLog”。
命令:EventLogUtil -GTestEventLog -CSTestSource1
结果:事件源“TestEventLog”已成功注册到“TestSource1”
四.显示事件日志清单。
命令:EventLogUtil -L
结果:
日志名称 | 日志友好名称
--------------------------
Application |
应用程序
new123 | new123
Security |
安全性
System |
系统
TestEventLog | TestEventLog
五.显示“Application”事件日志内容。
命令:EventLogUtil -LApplication
结果:
日志名称:Application
日志友好名称:应用程序
计算机名称:.
六.使用“TestSource”做为事件源,写入“信息”事件类型消息,消息内容为“1234567890”。
命令:EventLogUtil -W -STestSource -M1234567890
结果:消息成功写入事件源“TestSource”
七.使用“TestSource”做为事件源,写入“错误”事件类型消息,消息内容为“1234567890”。
命令:EventLogUtil -W -STestSource -M1234567890 -TE
结果:消息成功写入事件源“TestSource”
八.使用“TestSource”做为事件源,写入“信息”事件类型消息,消息内容来自C:/1.log文件。
命令:EventLogUtil -W -STestSource -FC:/1.log -TE
结果:消息成功写入事件源“TestSource”
九.导出“TestEventLog”事件日志的内容到C:/2.log文件。
命令:EventLogUtil -O -GTestEventLog -FC:/2.log
结果:数据导出成功
十.导出“TestEventLog”事件日志中为“错误”事件类型的内容到C:/2.log文件。
命令:EventLogUtil -O -GTestEventLog -FC:/2.log -TE
结果:数据导出成功
十一.导出注册事件源为“TestSource”事件的日志内容到C:/2.log文件。
命令:EventLogUtil -O -STestSource -FC:/2.log -TE
结果:数据导出成功
十二.导出注册事件源为“TestSource”事件类型为“错误”的日志内容到C:/2.log文件。
命令:EventLogUtil -O -STestSource -FC:/2.log -TE
结果:数据导出成功
十三.取消“TestSource”事件源的注册。
命令:EventLogUtil -DSTestSource
结果:事件源“TestSource”移除成功
十四.删除“TestEventLog”事件日志。
命令:EventLogUtil -DLTestEventLog
结果:事件日志“TestEventLog”删除成功
如果参数中存在空格请使用引号,例如:
Eventlogutil -O -GTestEventLog -F"C:/2 1.log"
Eventlogutil -W -STestSource -F"C:/2 1.log" –TE
命令行参数区分大小写。
备注信息
EventLogUtil
运行于Windows平台,目前版本为1.0第一个版本,一些功能还需要得到加强。
EventLogUtil
工具只包含一个文件,不需要安装。
本软件使用.NET Framework 2.0 进行开发,如果当前系统没有安装.NET Framework 2.0请点击
这里下载。