Ejemplo n.º 1
0
        private RawFileLogger(string logPrefixType, Version version, string logPrefix, string logPath)
        {
            this.logSchemaMapping = RawFileLogger.GetLogSchema(logPrefixType, version);
            long     maximumLogFileSize      = RawFileLoggerConfiguration.Instance.MaximumLogFileSize;
            long     maximumLogDirectorySize = RawFileLoggerConfiguration.Instance.MaximumLogDirectorySize;
            TimeSpan maximumLogAge           = RawFileLoggerConfiguration.Instance.MaximumLogAge;
            int      logBufferSize           = RawFileLoggerConfiguration.Instance.LogBufferSize;
            TimeSpan logBufferFlushInterval  = RawFileLoggerConfiguration.Instance.LogBufferFlushInterval;

            this.log = new Log(logPrefix, new LogHeaderFormatter(this.logSchemaMapping), "Microsoft.Exchange.Hygiene.Data.RawFileLogger", false);
            this.log.Configure(logPath, maximumLogAge, maximumLogDirectorySize, maximumLogFileSize, logBufferSize, logBufferFlushInterval);
        }
Ejemplo n.º 2
0
        public static RawFileLogger GetLogger(string logPrefixType, string logDirectoryPath, Version version)
        {
            string logPrefix = RawFileLogger.GetLogPrefix(logPrefixType, version);

            if (!RawFileLogger.instances.ContainsKey(logPrefix))
            {
                RawFileLogger rawFileLogger = new RawFileLogger(logPrefixType, version, logPrefix, logDirectoryPath);
                if (!RawFileLogger.instances.TryAdd(logPrefix, rawFileLogger))
                {
                    rawFileLogger.Dispose();
                }
            }
            return(RawFileLogger.instances[logPrefix]);
        }
Ejemplo n.º 3
0
 private RawFileLogger(string logPrefixType, Version version, string logPrefix) : this(logPrefixType, version, logPrefix, RawFileLogger.GetLogPath(logPrefixType))
 {
 }