2017-04-25 9 views
1

ログファイルモニターを作成しようとしています。私は私が探しているエラーの数を私に与えるPowerShellコマンドを持っています。最後のチェックからファイル内でカウント文字列が一致する

この番号を今すぐ保存して、5分後にもう一度カウントして差異を報告することはできますか?ここで

は私のコードです:

(Get-Content "file.log" | Select-String -Pattern "HandleProcessingError" -AllMatches).count 
+1

それを5分後のものと比較することができます。 – Adamar

+1

またはファイル、レジストリ、またはイベントログに数値を書き込んで、次回にコードが実行されるときにそれを読み返してください –

+0

これは何か? '$ count1 =(Get-Content" file.log "| Select-String -Pattern" HandleProcessingError ".AllMatches).count' どのようにしてX分間も比較することができますか? –

答えて

1

これは、1つの非常に単純な方法ですが、その理想からかけ離れ:

$ErrorCount = (Get-Content "file.log" | Select-String -Pattern "HandleProcessingError" -AllMatches).count 
Start-Sleep -Seconds (60*5) 

$NewErrorCount = (Get-Content "file.log" | Select-String -Pattern "HandleProcessingError" -AllMatches).count 

$ErrorDifference = $NewErrorCount - $ErrorCount 

Write-Output "There have been $ErrorDifference new errors" 

あなたがやったほうが良いと思いますどのような数を書くことであろうファイルに保存してから、このスクリプトを5分ごとに何らかのタスクとして実行するように設定します。

+2

'$ PrevErrorCount | Import-CliXml' - > '$ PrevErrorCount = Import-CliXml' –

+0

ファイルに保存することに同意します。これは私がそのコードで得たものです: 'Import-Clixml:引数 'Files \ New'を受け入れる位置パラメータが見つかりません。 行目:4文字:36 + $ PrevErrorCount | ImportClixml <<<< -Path C:¥Program Files¥New Relic¥plugins¥logmonitor¥ErrorCount.XML + CategoryInfo:InvalidArgument :(:) [Import-Clixml]、ParameterBindingException + FullyQualifiedErrorId:Microsoft.PowerShell、PositionalParameterNotFound .Commands.ImportClixmlCommand' –

+0

ファイル 'ErrorCount.xml'は、else節だけでなく更新する必要があります。 – LotPings

関連する問題