Exemplo n.º 1
0
        public Stats(string statsDirectory = null,
            string statsFilePrefix = null,
            string statsFileExtension = null,
            int messageBufferSize = 32,
            int statsBufferSize = 10000,
            LogOptions options = LogOptions.LogOnlyToFile,
            LogRollOptions rollOptions = LogRollOptions.Daily,
            int rollMaxMegaBytes = 1024,
            bool useUtcTimeStamp = false)
        {
            _logDirectory = statsDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "logs");
            Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
            _logFilePrefix = statsFilePrefix ?? StatFilePrefixDefault;
            _logFileExtension = statsFileExtension ?? StatFileExtensionDefault;
            _messageBufferSize = messageBufferSize;
            _statsBufferSize = statsBufferSize;
            _rollOptions = rollOptions;
            _rollMaxMegaBytes = rollMaxMegaBytes;
            _useUtcTimeStamp = useUtcTimeStamp;

            LogOptions = options;
            if (_messageBufferSize < 1) _messageBufferSize = 1;
            if (_messageBufferSize > 4096) _messageBufferSize = 4096;
            if (_statsBufferSize < 10) _statsBufferSize = 10;
            if (_statsBufferSize > 1000000) _statsBufferSize = 1000000;
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1) _rollMaxMegaBytes = 1;
                if (_rollMaxMegaBytes < 4096) _rollMaxMegaBytes = 4096;
            }
        }
Exemplo n.º 2
0
        public Logger(string logDirectory = null,
            string logFilePrefix = null, 
            string logFileExtension = null, 
            LogLevel logLevel = LogLevel.Error, 
            int messageBufferSize = 32, 
            LogOptions options = LogOptions.LogOnlyToFile, 
            LogRollOptions rollOptions = LogRollOptions.Daily, 
            int rollMaxMegaBytes = 1024,
            bool useUtcTimeStamp = false)
        {
            _logDirectory = logDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "logs");
            Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
            _logFilePrefix = logFilePrefix ?? LogFilePrefixDefault;
            _logFileExtension = logFileExtension ?? LogFileExtensionDefault;
            _logLevel = logLevel;
            _messageBufferSize = messageBufferSize;
            _rollOptions = rollOptions;
            _rollMaxMegaBytes = rollMaxMegaBytes;
            _useUtcTimeStamp = useUtcTimeStamp;

            LogOptions = options; //setter validates
            if (_messageBufferSize < 1) _messageBufferSize = 1;
            if (_messageBufferSize > 4096) _messageBufferSize = 4096;
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1) _rollMaxMegaBytes = 1;
                if (_rollMaxMegaBytes < 4096) _rollMaxMegaBytes = 4096;
            }
        }
Exemplo n.º 3
0
        public Stats(string statsDirectory      = null,
                     string statsFilePrefix     = null,
                     string statsFileExtension  = null,
                     int messageBufferSize      = 32,
                     int statsBufferSize        = 10000,
                     LogOptions options         = LogOptions.LogOnlyToFile,
                     LogRollOptions rollOptions = LogRollOptions.Daily,
                     int rollMaxMegaBytes       = 1024,
                     bool useUtcTimeStamp       = false)
        {
            if (options != LogOptions.LogOnlyToConsole && string.IsNullOrWhiteSpace(statsDirectory))
            {
                throw new ArgumentNullException(nameof(statsDirectory));
            }
            if (options != LogOptions.LogOnlyToConsole)
            {
                _logDirectory = statsDirectory;
                Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
                _logFilePrefix    = statsFilePrefix ?? StatFilePrefixDefault;
                _logFileExtension = statsFileExtension ?? StatFileExtensionDefault;
            }
            _messageBufferSize = messageBufferSize;
            _statsBufferSize   = statsBufferSize;
            _rollOptions       = rollOptions;
            _rollMaxMegaBytes  = rollMaxMegaBytes;
            _useUtcTimeStamp   = useUtcTimeStamp;

            LogOptions = options;
            if (_messageBufferSize < 1)
            {
                _messageBufferSize = 1;
            }
            if (_messageBufferSize > 4096)
            {
                _messageBufferSize = 4096;
            }
            if (_statsBufferSize < 10)
            {
                _statsBufferSize = 10;
            }
            if (_statsBufferSize > 1000000)
            {
                _statsBufferSize = 1000000;
            }
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1)
                {
                    _rollMaxMegaBytes = 1;
                }
                if (_rollMaxMegaBytes < 4096)
                {
                    _rollMaxMegaBytes = 4096;
                }
            }
        }
Exemplo n.º 4
0
        public Stats(string statsDirectory      = null,
                     string statsFilePrefix     = null,
                     string statsFileExtension  = null,
                     int messageBufferSize      = 32,
                     int statsBufferSize        = 10000,
                     LogOptions options         = LogOptions.LogOnlyToFile,
                     LogRollOptions rollOptions = LogRollOptions.Daily,
                     int rollMaxMegaBytes       = 1024,
                     bool useUtcTimeStamp       = false)
        {
#if !NETSTANDARD1_6
            _logDirectory = statsDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "logs");
#else
            _logDirectory = statsDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "logs");
#endif
            Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
            _logFilePrefix     = statsFilePrefix ?? StatFilePrefixDefault;
            _logFileExtension  = statsFileExtension ?? StatFileExtensionDefault;
            _messageBufferSize = messageBufferSize;
            _statsBufferSize   = statsBufferSize;
            _rollOptions       = rollOptions;
            _rollMaxMegaBytes  = rollMaxMegaBytes;
            _useUtcTimeStamp   = useUtcTimeStamp;

            LogOptions = options;
            if (_messageBufferSize < 1)
            {
                _messageBufferSize = 1;
            }
            if (_messageBufferSize > 4096)
            {
                _messageBufferSize = 4096;
            }
            if (_statsBufferSize < 10)
            {
                _statsBufferSize = 10;
            }
            if (_statsBufferSize > 1000000)
            {
                _statsBufferSize = 1000000;
            }
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1)
                {
                    _rollMaxMegaBytes = 1;
                }
                if (_rollMaxMegaBytes < 4096)
                {
                    _rollMaxMegaBytes = 4096;
                }
            }
        }
Exemplo n.º 5
0
        public Logger(string logDirectory        = null,
                      string logFilePrefix       = null,
                      string logFileExtension    = null,
                      LogLevel logLevel          = LogLevel.Error,
                      int messageBufferSize      = 32,
                      LogOptions options         = LogOptions.LogOnlyToFile,
                      LogRollOptions rollOptions = LogRollOptions.Daily,
                      int rollMaxMegaBytes       = 1024,
                      bool useUtcTimeStamp       = false)
        {
            if (options != LogOptions.LogOnlyToConsole && string.IsNullOrWhiteSpace(logDirectory))
            {
                throw new ArgumentNullException(nameof(logDirectory));
            }
            if (options != LogOptions.LogOnlyToConsole)
            {
                _logDirectory = logDirectory;
                Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
                _logFilePrefix    = logFilePrefix ?? LogFilePrefixDefault;
                _logFileExtension = logFileExtension ?? LogFileExtensionDefault;
            }
            _logLevel          = logLevel;
            _messageBufferSize = messageBufferSize;
            _rollOptions       = rollOptions;
            _rollMaxMegaBytes  = rollMaxMegaBytes;
            _useUtcTimeStamp   = useUtcTimeStamp;

            LogOptions = options; //setter validates
            if (_messageBufferSize < 1)
            {
                _messageBufferSize = 1;
            }
            if (_messageBufferSize > 4096)
            {
                _messageBufferSize = 4096;
            }
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1)
                {
                    _rollMaxMegaBytes = 1;
                }
                if (_rollMaxMegaBytes < 4096)
                {
                    _rollMaxMegaBytes = 4096;
                }
            }
        }
Exemplo n.º 6
0
        public Logger(string logDirectory        = null,
                      string logFilePrefix       = null,
                      string logFileExtension    = null,
                      LogLevel logLevel          = LogLevel.Error,
                      int messageBufferSize      = 32,
                      LogOptions options         = LogOptions.LogOnlyToFile,
                      LogRollOptions rollOptions = LogRollOptions.Daily,
                      int rollMaxMegaBytes       = 1024,
                      bool useUtcTimeStamp       = false)
        {
#if NETSTANDARD1_6
            _logDirectory = logDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "logs");
#else
            _logDirectory = logDirectory ?? Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "logs");
#endif
            Directory.CreateDirectory(_logDirectory); //will throw if unable - does not throw if already exists
            _logFilePrefix     = logFilePrefix ?? LogFilePrefixDefault;
            _logFileExtension  = logFileExtension ?? LogFileExtensionDefault;
            _logLevel          = logLevel;
            _messageBufferSize = messageBufferSize;
            _rollOptions       = rollOptions;
            _rollMaxMegaBytes  = rollMaxMegaBytes;
            _useUtcTimeStamp   = useUtcTimeStamp;

            LogOptions = options; //setter validates
            if (_messageBufferSize < 1)
            {
                _messageBufferSize = 1;
            }
            if (_messageBufferSize > 4096)
            {
                _messageBufferSize = 4096;
            }
            if (_rollOptions == LogRollOptions.Size)
            {
                if (_rollMaxMegaBytes < 1)
                {
                    _rollMaxMegaBytes = 1;
                }
                if (_rollMaxMegaBytes < 4096)
                {
                    _rollMaxMegaBytes = 4096;
                }
            }
        }