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); }
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]); }
private RawFileLogger(string logPrefixType, Version version, string logPrefix) : this(logPrefixType, version, logPrefix, RawFileLogger.GetLogPath(logPrefixType)) { }