deebug

SimpleLogger.vb

Jul 12th, 2011
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Namespace Sitesource.Log
  2.     ''' <summary>
  3.    ''' A very simple logger
  4.    ''' </summary>
  5.    ''' <remarks></remarks>
  6.    Public Class SimpleLogger
  7.         Public Const DefaultOutputFormat As String = "[{0:u}] [{1}] {2}"
  8.         Private _debug As Boolean = False
  9.         Private _logLevel As LogEntryType = LogEntryType.Information
  10.         ''' <summary>
  11.        ''' Raised whenever an entry is written within the given Log Level.
  12.        ''' </summary>
  13.        ''' <param name="level"></param>
  14.        ''' <param name="message"></param>
  15.        ''' <remarks></remarks>
  16.        Public Event EntryWritten(ByVal level As LogEntryType, ByVal message As String)
  17.         ''' <summary>
  18.        ''' New
  19.        ''' </summary>
  20.        ''' <param name="debug">Writes all messages to the trace listeners.</param>
  21.        ''' <param name="logLevel">The lowest loglevel that should raise the EntryWritten event.</param>
  22.        ''' <remarks></remarks>
  23.        Public Sub New(ByVal debug As Boolean, ByVal logLevel As LogEntryType)
  24.             Me._debug = debug
  25.             Me._logLevel = logLevel
  26.         End Sub
  27.         ''' <summary>
  28.        ''' WriteEntry
  29.        ''' </summary>
  30.        ''' <param name="level">Log level.</param>
  31.        ''' <param name="message">A message.</param>
  32.        ''' <remarks></remarks>
  33.        Public Sub WriteEntry(ByVal level As LogEntryType, ByVal message As String)
  34.             If _debug Then System.Diagnostics.Debug.WriteLine(DefaultOutputFormat, Now, level, message)
  35.             If level >= _logLevel Then RaiseEvent EntryWritten(level, message)
  36.         End Sub
  37.         ''' <summary>
  38.        ''' WriteEntry using
  39.        ''' </summary>
  40.        ''' <param name="level">Log level.</param>
  41.        ''' <param name="format">A composite format string.</param>
  42.        ''' <param name="arg0"></param>
  43.        ''' <remarks></remarks>
  44.        Public Sub WriteEntry(ByVal level As LogEntryType, ByVal format As String, ByVal ParamArray arg0() As Object)
  45.             WriteEntry(level, String.Format(format, arg0))
  46.         End Sub
  47.         ''' <summary>
  48.        ''' Indicate whether all messages should be written to the trace listeners.
  49.        ''' </summary>
  50.        ''' <value></value>
  51.        ''' <returns></returns>
  52.        ''' <remarks></remarks>
  53.        Public Property Debug As Boolean
  54.             Set(ByVal value As Boolean)
  55.                 _debug = value
  56.             End Set
  57.             Get
  58.                 Return _debug
  59.             End Get
  60.         End Property
  61.         ''' <summary>
  62.        ''' The lowest LogLevel that should raise the EntryWritten event.
  63.        ''' </summary>
  64.        ''' <value></value>
  65.        ''' <returns></returns>
  66.        ''' <remarks></remarks>
  67.        Public Property LogLevel As LogEntryType
  68.             Set(ByVal value As LogEntryType)
  69.                 _logLevel = value
  70.             End Set
  71.             Get
  72.                 Return _logLevel
  73.             End Get
  74.         End Property
  75.     End Class
  76. End Namespace
Advertisement
Add Comment
Please, Sign In to add comment