3

私は PowerShell を初めて使用し、最初のアプリケーションを作成しています。アプリケーションは Windows サービスの状態をチェックし、(さまざまな要因に応じて) 停止、開始、再起動などのさまざまな操作を実行できます。何が行われたかを示すログを作成する必要があります。モジュールを使用して、コードを再利用可能で柔軟にしたい (たとえば、自動実行するようにスケジュールする場合、ログを電子メールで送信するか、実行する場合はテキスト ファイルに書き込む必要があります)手動で、私はそれがのようなもので出力したいと思いますWrite-Host)。

私の質問は、ログを作成するにはどうすればよいですか? たとえばJavaでは、文字列を処理するだけのログクラスpublic void addToLog(String log)public String getLog()メソッドを使用し、電子メール/表示などに任せます.

4

3 に答える 3

3

プラットフォームをインストールするための非常に複雑な一連のスクリプトがあります (BizTalk、SQL Server、エンタープライズ シングル サインオン、IIS、エンタープライズ ライブラリ、その他いくつかのものに依存しています)。これらのスクリプトは、サービスの開始と停止、BizTalk オーケストレーション、データベースの作成または更新などを行います。ロギングのためにいくつかのことを試しましたが、最終的に、使いやすさと柔軟性のためにlog4netを選択しました。PowerShell から使用するのは簡単です。

于 2012-05-26T14:56:12.853 に答える
1

数日前にSOで尋ねた同様の質問を参照してください。役立つかもしれません。私は、ANSWER - Powershell: Debug in Production / Good Exception Handling で参照されている同じログ モジュールを使用しています。

于 2012-05-26T12:39:05.697 に答える
0

運用担当者用のログが必要な場合は、専用のコマンドレットを使用して独自のアプリケーション ログを追加できます。すべてのスクリプトに対して 1 つの PowerShell ログを作成して使用し、実行の詳細 (情報) とエラー (優れた例外処理と連携して) を、生産担当者に公開します。1 つのスクリプト専用のログを作成できます (DNS などのログが存在するため)。

例を次に示します。

# List of logs
Get-EventLog -list

# Creating your own log
New-EventLog -LogName "SlxScripting" -Source "MaSource"

# List of logs
Get-EventLog -list

# Writting in your own log
Write-EventLog -LogName "SlxScripting" -EventId 12 `
               -Message "Mon Message" 
               -Source "MaSource" -EntryType Warning

# Reading in your own log
Get-EventLog -LogName "SlxScripting"  

# Suppressing your log
Remove-EventLog -LogName "SlxScripting"
于 2012-05-27T10:03:02.267 に答える