public static DirectLogSubmissionManager Create( DirectLogSubmissionManager?previous, ImmutableDirectLogSubmissionSettings settings, string serviceName, string env, string serviceVersion) { var formatter = new LogFormatter(settings, serviceName, env, serviceVersion); if (previous is not null) { // Only the formatter uses settings that are configurable in code. // If that ever changes, need to update the log-shipping integrations that // currently cache the sink/settings instances return(new DirectLogSubmissionManager(previous.Settings, previous.Sink, formatter)); } if (!settings.IsEnabled) { return(new DirectLogSubmissionManager(settings, new NullDatadogSink(), formatter)); } var apiFactory = LogsTransportStrategy.Get(settings); var logsApi = new LogsApi(settings.ApiKey, apiFactory); return(new DirectLogSubmissionManager(settings, new DatadogSink(logsApi, formatter, settings.BatchingOptions), formatter)); }
public void Init() { instance = new LogsApi(); }