Perl 访问 Windows 的事件日志
发布时间:2020-12-15 21:08:34 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/usr/bin/perl -wuse Win32::EventLog;$area = 'System'; # Default$host = $ENV{'ComputerName'};$log_handle = Win32::EventLog-new($area,$host)
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #!/usr/bin/perl -w use Win32::EventLog; $area = 'System'; # Default $host = $ENV{'ComputerName'}; $log_handle = Win32::EventLog->new($area,$host)or die "Cannot open $area event log $!n"; $log_handle->GetOldest($record_base) or die "Error getting oldest record,$!n"; $log_handle->GetNumber($num_records) or die "Error getting number records,$!n"; for ($rec = 0; $rec < $num_records; $rec++ ) { $log_handle->Read(EVENTLOG_FORWARDS_READ|EVENTLOG_SEEK_READ,$record_base + $rec,%hash)or die "Cannot read event log entry $rec,$!n"; print_error_log( %hash ); } $log_handle->Close(); sub print_error_log { my($hash_ref) = $_[0]; my(%hash) = %$hash_ref; my($time_str); my($time_value); if ( exists( $hash{'EventType'} ) ) { if ( $hash{'EventType'} eq EVENTLOG_ERROR_TYPE ) { my($source) = $hash{'Source'}; $time_value = $hash{'TimeGenerated'}; $time_str = localtime( $time_value ); my($rec_number) = $hash{'RecordNumber'}; my($msg) =Win32::EventLog::GetMessageText( %hash ); if (defined($msg) ) { print " $rec_number $source $time_strn"; print "$msgn"; } else { # Print raw strings used to create message. print " $rec_number $source $time_strn"; print "$hash{'Strings'}"; } } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 谈谈闭包
- VB 2008 访问 SQL SERVER 2008返回DataTable的一般方法~~
- 如何使用DIst :: Zilla构建Perl发行版并使用Carton进行依赖
- Delphi 与 DirectX 之 DelphiX(3): 初识 TDXDraw
- delphi – 无法获得Spring4D加密示例的预期结果
- DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包
- Delphi – 使用可选的VAR参数调用过程?
- perl删除两个列表中都包含的元素
- Go语言strconv包:字符串和数值类型的相互转换
- php – 使用策略this-> authorize()检查store()方法中的lar