HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 自作関数 Tips メニュー

20.ログを残す

 
UPDATE:2008/05/05    
 
<< 前のTips  次のTips >> 



スクリプトや関数のデバッグで、途中経過をテキストファイルに書き込みたくて Write-Log という関数を作成しました。

Write-Log.ps1

#===============================================================================
# Write-Log: ログを作成する
#
# 使用例1:
# PS > Write-Log "ログを残します"
# 使用例2:
# PS > Write-Log "ログを残します", "C:\Work\Error.log"
#
# copyright HIRO's.NET(http://hiros-dot.net/)
#===============================================================================
function global:Write-Log
{
Param ( [String]$msg, [String]$LogFile="C:\Work\History.log" )

$write_msg = ((Get-Date).ToString() + "`t" + $msg)
Add-Content -Path $LogFile -Value $write_msg
}

書式は

Write-Log "ログメッセージ" "保存ファイル名"

です。

使用方法は簡単で、List1の様に入力すると
C:\Log.txtというファイルが作成され、ログを書き込んだ時間とメッセージが書き込まれます。

List1

PS > Write-Log "ログメッセージ" "C:\Log.txt"

List1によって作成されるファイルの例を下記に示します。

C:\Log.txt

2008/05/05 19:19:32    ログメッセージ

開発ポイントですが、ファイルへの書き込みにAdd-Contentコマンドレットを使用しています。
Add-Contentコマンドレットは、すでにファイルが存在する場合には追記書き込みを行います。
これにより、前のメッセージを残しながらログを作成していくことを可能にしています。

 
<< 前のTips  次のTips >>