⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filelogtracelistener.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
📖 第 1 页 / 共 2 页
字号:
            stream.WriteLine(message)            If m_AutoFlush Then stream.Flush()        End Sub        Private Function CheckSpace(ByVal msgSize As Integer) As Boolean            If m_Stream.BaseStream.Length + msgSize > m_MaxFileSize Then                If m_DiskSpaceExhaustedBehaviour = DiskSpaceExhaustedOption.ThrowException Then                    Throw New InvalidOperationException("Log file size exceeded maximum size")                Else                    Return False                End If            End If            If New System.IO.DriveInfo(Me.FullLogFileName(0)).TotalFreeSpace - msgSize < m_ReserveDiskSpace Then                If m_DiskSpaceExhaustedBehaviour = DiskSpaceExhaustedOption.ThrowException Then                    Throw New InvalidOperationException("No more disk space for log file")                Else                    Return False                End If            End If            Return True        End Function        Private Function GetOpenStream() As System.IO.StreamWriter            If m_Stream Is Nothing Then                m_Stream = New System.IO.StreamWriter(FullLogFileName, m_Append, m_Encoding)            End If            Return m_Stream        End Function#Region "Properties"        Public Property Append() As Boolean            Get                Return m_Append            End Get            Set(ByVal value As Boolean)                m_Append = value            End Set        End Property        Public Property AutoFlush() As Boolean            Get                Return m_AutoFlush            End Get            Set(ByVal value As Boolean)                m_AutoFlush = value            End Set        End Property        Public Property BaseFileName() As String            Get                Return m_BaseFileName            End Get            Set(ByVal value As String)                m_BaseFileName = value            End Set        End Property        Public Property CustomLocation() As String            Get                Return m_CustomLocation            End Get            Set(ByVal value As String)                m_CustomLocation = value            End Set        End Property        Public Property Delimiter() As String            Get                Return m_Delimiter            End Get            Set(ByVal value As String)                m_Delimiter = value            End Set        End Property        Public Property DiskSpaceExhaustedBehavior() As DiskSpaceExhaustedOption            Get                Return m_DiskSpaceExhaustedBehaviour            End Get            Set(ByVal value As DiskSpaceExhaustedOption)                m_DiskSpaceExhaustedBehaviour = value            End Set        End Property        Public Property Encoding() As Encoding            Get                Return m_Encoding            End Get            Set(ByVal value As Encoding)                m_Encoding = value            End Set        End Property        Public ReadOnly Property FullLogFileName() As String            Get                Dim path As String                Dim file As String#If TARGET_JVM = False Then 'Windows.Forms Not Supported by Grasshopper                Select Case m_Location                    Case LogFileLocation.CommonApplicationDirectory                        path = System.Windows.Forms.Application.CommonAppDataPath                    Case LogFileLocation.Custom                        path = m_CustomLocation                    Case LogFileLocation.ExecutableDirectory                        path = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath)                    Case LogFileLocation.LocalUserApplicationDirectory                        path = Microsoft.VisualBasic.FileIO.SpecialDirectories.CurrentUserApplicationData                    Case LogFileLocation.TempDirectory                        path = Microsoft.VisualBasic.FileIO.SpecialDirectories.Temp                    Case Else                        path = Microsoft.VisualBasic.FileIO.SpecialDirectories.CurrentUserApplicationData                End Select#Else                path = String.Empty#End If                file = m_BaseFileName                Select Case m_LogFileCreationSchedule                    Case LogFileCreationScheduleOption.Daily                        file = file & "-" & Date.Today.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)                    Case LogFileCreationScheduleOption.None                        'nothing here                    Case LogFileCreationScheduleOption.Weekly                        Dim today As Date = Date.Today                        'This is not culture-dependant, here Sunday is always the first day of the week                        file = file & "-" & today.AddDays(-today.DayOfWeek).ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)                    Case Else                        'nothing here                End Select                Return System.IO.Path.Combine(path, file) & ".log"            End Get        End Property        Public Property IncludeHostName() As Boolean            Get                Return m_IncludeHostName            End Get            Set(ByVal value As Boolean)                m_IncludeHostName = value            End Set        End Property        Public Property Location() As LogFileLocation            Get                Return m_Location            End Get            Set(ByVal value As LogFileLocation)                m_Location = value            End Set        End Property        Public Property LogFileCreationSchedule() As LogFileCreationScheduleOption            Get                Return m_LogFileCreationSchedule            End Get            Set(ByVal value As LogFileCreationScheduleOption)                m_LogFileCreationSchedule = value            End Set        End Property        Public Property MaxFileSize() As Long            Get                Return m_MaxFileSize            End Get            Set(ByVal value As Long)                If value < 1000 Then                    Throw New ArgumentException("MaxFileSize has to be greater or equal to 1000")                End If                m_MaxFileSize = value            End Set        End Property        Public Property ReserveDiskSpace() As Long            Get                Return m_ReserveDiskSpace            End Get            Set(ByVal value As Long)                m_ReserveDiskSpace = value            End Set        End Property#End Region    End ClassEnd Namespace#End If

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -