반응형
* VBNET 로그 파일 작성 예제...
위 그림과 같이 리스트뷰 Columns 붉은 테두리 안에 있는 ... 버튼을 클릭하여 ColumnHeader 컬렉션 편집기를
열어 멤버를 추가 해 줍니다.
첫번째 열은 No. 에 해당하며 Log 갯수를 표시 할 Column
두번째 열은 로그 내용에 해당하며 로그 파일안에 내용을 표시할 Column
전체 소스 코드
Form1.vb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
listView1.View = View.Details
listView1.FullRowSelect = True
listView1.GridLines = True
'2. 로그 남기기...
Log_Info("Log 프로그램 예제를 시작 합니다.")
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
'2. 로그 남기기...
Log_Info("Log 프로그램 예제를 종료 합니다.")
End Sub
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
'2. 로그 남기기...
Log_Info("로그 남기기 버튼을 클릭 하였습니다.")
End Sub
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
Dim strLocalPath As String = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))
Dim ofd As OpenFileDialog = New OpenFileDialog()
'텍스트 파일만 불러오기...
ofd.Filter = "TXT 파일(*.txt) | *.txt"
'파일대화상자 시작시 기본 폴더 지정으로 지정된 폴더로 바로 띄우기
ofd.InitialDirectory = strLocalPath + "\\Log"
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
listView1.Items.Clear()
Dim strFile As String = ""
strFile = ofd.FileName
'파일 체크...
If Not System.IO.File.Exists(strFile) Then
MessageBox.Show("해당 파일이 없거나 선택된 파일이 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Return
Else
Dim strValue() As String = System.IO.File.ReadAllLines(strFile)
For iCount As Integer = 0 To strValue.Length - 1
Dim lvi As ListViewItem = New ListViewItem
lvi.Text = (iCount + 1).ToString()
lvi.SubItems.Add(strValue(iCount))
listView1.Items.Add(lvi)
Next
End If
End If
End Sub
'1. 로그 함수 작성...
Private Function Log_Info(ByVal strMsg As String) As Boolean
Try
Dim strCheckFolder As String = ""
Dim strFileName As String = ""
'현재 EXE 파일가 위치 하고 있는 폴더를 가져옴.
strCheckFolder = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))
strCheckFolder += "\Log"
'로그 폴더가 없으면 생성
If (FileSystem.Dir(strCheckFolder, FileAttribute.Directory) = "") Then
System.IO.Directory.CreateDirectory(strCheckFolder)
End If
strFileName = strCheckFolder + "\\" + DateAndTime.Now.ToString("yyyyMMdd") + ".txt"
Dim FileWriter As System.IO.StreamWriter = New System.IO.StreamWriter(strFileName, True)
FileWriter.Write(DateAndTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " => " + strMsg + vbCrLf)
FileWriter.Flush()
FileWriter.Close()
Catch ex As Exception
Log_Info = False
End Try
Log_Info = True
End Function
End Class
* 예제 결과
https://kdsoft-zeros.tistory.com/34?category=846222 [삽질하는 개발자...]
반응형
'VB.NET Programming' 카테고리의 다른 글
[VBNET] Folder Copy 폴더 복사 예제 (0) | 2019.10.19 |
---|---|
[VBNET] File CheckSum 예제 (MD5 Hash) (0) | 2019.10.17 |
[VBNET] 파일 및 폴더 감시 예제 (FileSystemWatcher) (0) | 2019.10.12 |
[VBNET] FileCopy (파일 복사 예제) (0) | 2019.10.09 |
[VBNET] 프로그램 중복 실행 방지 (0) | 2019.10.07 |