ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
ログ出力クラス ( No.1 )
日時: 2008/04/24 23:56
名前: lightbox



● プログラムのパス
● メソッドの引数の省略時の定義
● HOST 名、IP アドレス
● ログインユーザー名
● デバッグ(構成)時のみ実行される処理
● 現在の時刻
Imports System.IO
Imports System.Windows.Forms

Public Class DEBUG

	Public path As String
	Public handle As StreamWriter
	Public handleRead As StreamReader

	' ********************************************************
	' (コンストラクタの定義)( Sub で定義する )
	' ********************************************************
	Public Sub New(ByVal Messaege As String)

#If DEBUG Then
		path = Application.StartupPath()
		path &= "\debug.log"

		handle = New StreamWriter(path, True)
		Me.Write(Application.ExecutablePath & " を開始しました")
		Me.Write("インスタンス作成時:" & Messaege)

		Dim pc As String = System.Net.Dns.GetHostName()
		Dim ip As String = System.Net.Dns.GetHostEntry(pc).AddressList(0).ToString()
		Dim login As String = Environment.UserName
		Me.Write("****** " & login & vbTab & pc & vbTab & ip & " ******")
#End If

	End Sub

	' ********************************************************
	' 書き込み
	' ********************************************************
	Public Sub Write(Optional ByVal Messaege As String = "")

#If DEBUG Then
		Dim str As String = DateTime.Now.ToString()
		str &= vbTab & Messaege

		handle.WriteLine(str)
#End If

	End Sub

	' ********************************************************
	' 終了
	' ********************************************************
	Public Sub Quit()

#If DEBUG Then
		Me.Write(Application.ExecutablePath & " を終了します")
		Me.Write()
		handle.Flush()
		handle.Close()
#End If

	End Sub


End Class
Module Module1

	Sub Main()

		Dim log As DEBUG = New DEBUG("ログ出力を開始します")

		log.Write("主処理")

		log.Write("終了処理")

		log.Quit()

	End Sub

End Module