コメント |
@DIV
● プログラムのパス
● メソッドの引数の省略時の定義
● HOST 名、IP アドレス
● ログインユーザー名
● デバッグ(構成)時のみ実行される処理
● 現在の時刻
@END
@DIV
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
@END
@DIV
Module Module1
Sub Main()
Dim log As DEBUG = New DEBUG("ログ出力を開始します")
log.Write("主処理")
log.Write("終了処理")
log.Quit()
End Sub
End Module
@END
|