sources/Google.Solutions.Common/Diagnostics/TelemetryLog.cs (17 lines of code) (raw):

// // Copyright 2024 Google LLC // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. // using System.Collections.Generic; namespace Google.Solutions.Common { /// <summary> /// Log for telemetry events. The default implementation drops /// all events. /// </summary> public class TelemetryLog { /// <summary> /// Current telemetry log. The default log drops all events. /// </summary> public static TelemetryLog Current { get; set; } = new TelemetryLog(); protected TelemetryLog() { } /// <summary> /// Enable or disable telemetry collection. /// </summary> public virtual bool Enabled { get; set; } /// <summary> /// Write a telemetry event. /// </summary> /// <param name="eventName">Unique event name</param> /// <param name="parameters">Event-specific parameters</param> public virtual void Write( string eventName, IEnumerable<KeyValuePair<string, object>> parameters) { } } }