FileManager_Runtime_1704102200_Net4
This commit is contained in:
91
[NET2]ArinLog/Class1.vb
Normal file
91
[NET2]ArinLog/Class1.vb
Normal file
@@ -0,0 +1,91 @@
|
||||
Public Class ArinLog
|
||||
|
||||
Dim file As System.IO.FileInfo
|
||||
Dim buffer As System.Text.StringBuilder
|
||||
Dim Datatable As DataTable
|
||||
Public Event RaiseMsg(time As String, gubun As String, msg As String)
|
||||
|
||||
Public Enum ETYPE
|
||||
STARTUP
|
||||
SHUTDOWN
|
||||
[ERROR]
|
||||
NORMAL
|
||||
TCP
|
||||
KEYBOARD
|
||||
MOUSE
|
||||
PROCESS
|
||||
USERCONTROL
|
||||
BARCODE
|
||||
VISION
|
||||
PRINTER
|
||||
OCR
|
||||
OCRERROR
|
||||
MOTION
|
||||
SQL
|
||||
RS232
|
||||
End Enum
|
||||
|
||||
Dim setdate As String = ""
|
||||
Public FlushTime As Date = Now '//실기록완료한시간
|
||||
|
||||
Public Function GetBuffer() As String
|
||||
Return buffer.ToString
|
||||
End Function
|
||||
|
||||
Public Sub New()
|
||||
setdate = Now.ToString("yyMMdd")
|
||||
Me.file = New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\LOG\" & setdate & ".txt")
|
||||
If file.Directory.Exists = False Then file.Directory.Create()
|
||||
buffer = New System.Text.StringBuilder
|
||||
|
||||
Datatable = New DataTable
|
||||
Datatable.Columns.Add("시간")
|
||||
Datatable.Columns.Add("형태")
|
||||
Datatable.Columns.Add("메세지")
|
||||
End Sub
|
||||
Public Sub Add(bodymsg As String, Optional autof As Boolean = False)
|
||||
Add(ETYPE.NORMAL, bodymsg, autof)
|
||||
End Sub
|
||||
Public Sub Add(TYPE As ETYPE, bodymsg As String, Optional autof As Boolean = False)
|
||||
Add(TYPE.ToString(), bodymsg, autof)
|
||||
End Sub
|
||||
|
||||
Public Sub Add(TYPE As String, bodymsg As String, Optional autof As Boolean = False)
|
||||
If setdate <> Now.ToString("yyMMdd") Then '//날짜가 달라지면 파일을 변경한다.
|
||||
Flush()
|
||||
setdate = Now.ToString("yyMMdd")
|
||||
Me.file = New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\LOG\" & setdate & ".txt")
|
||||
End If
|
||||
|
||||
Dim nowdate As Date = Now
|
||||
Dim m As String = nowdate.ToString("yy-MM-dd HH:mm:ss") & "." & nowdate.Millisecond.ToString("000") & vbTab & TYPE.ToString.PadRight(20) & vbTab & bodymsg
|
||||
buffer.AppendLine(m)
|
||||
If autof OrElse buffer.Length > 100 OrElse TYPE = "ERROR Then '//에러발생시에는 바로 플러싱" Then
|
||||
Flush()
|
||||
End If
|
||||
|
||||
'//메세지발생함
|
||||
RaiseEvent RaiseMsg(nowdate.ToString("yy-MM-dd HH:mm:ss") & "." & nowdate.Millisecond.ToString("000"), TYPE, bodymsg)
|
||||
End Sub
|
||||
|
||||
|
||||
Public Function Flush() As Boolean
|
||||
Try
|
||||
My.Computer.FileSystem.WriteAllText(file.ToString, buffer.ToString, True)
|
||||
buffer = New System.Text.StringBuilder
|
||||
FlushTime = Now
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
Public Overrides Function toString() As String
|
||||
Try
|
||||
Return My.Computer.FileSystem.ReadAllText(file.FullName)
|
||||
Catch ex As Exception
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user