/// <summary> /// The channel for logging telemetry events to file /// </summary> /// <param name="settingsProvider"></param> /// <param name="logFile"></param> internal TelemetryLogToFileChannel(ITelemetryLogSettingsProvider settingsProvider, ITelemetryLogFile <TelemetryEvent> logFile) { CodeContract.RequiresArgumentNotNull <ITelemetryLogSettingsProvider>(settingsProvider, "settingsProvider"); CodeContract.RequiresArgumentNotNull <ITelemetryLogFile <TelemetryEvent> >(logFile, "logFile"); this.logFile = logFile; this.settingsProvider = settingsProvider; }
public RemoteSettingsLogger(RemoteSettingsFilterProvider filterProvider, bool loggingEnabled, ITelemetryLogFile <RemoteSettingsLogMessage> logFile, ITelemetryLogSettingsProvider settingsProvider) { this.filterProvider = filterProvider; this.loggingEnabled = loggingEnabled; this.logFile = logFile; this.settingsProvider = settingsProvider; }
/// <summary> /// Ensure to create a new writer for each session /// </summary> /// <param name="settingsProvider"></param> public void Initialize(ITelemetryLogSettingsProvider settingsProvider) { if (!isInitialized) { lock (telemetryWriterLocker) { if (!isInitialized) { CodeContract.RequiresArgumentNotNull <ITelemetryLogSettingsProvider>(settingsProvider, "settingsProvider"); this.settingsProvider = settingsProvider; if (telemetryWriter == null) { telemetryWriter = new TelemetryTextWriter(this.settingsProvider.FilePath); } WriteHeader(); isInitialized = true; } } } }