Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove omexlogger #713

Merged
merged 16 commits into from
Jan 29, 2025
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,21 @@

using System;

namespace Microsoft.Omex.Extensions.Logging
namespace Microsoft.Omex.Extensions.Abstractions.ServiceContext
{
/// <summary>
/// IServiceContext without any information
/// </summary>
internal class EmptyServiceContext : IServiceContext
public class EmptyServiceContext : IServiceContext
Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved
{
/// <summary>
/// Service fabric PartitionId
/// </summary>
public Guid PartitionId => Guid.Empty;

/// <summary>
/// Service fabric
/// </summary>
public long ReplicaOrInstanceId => 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved
using System;

namespace Microsoft.Omex.Extensions.Logging
namespace Microsoft.Omex.Extensions.Abstractions.ServiceContext
{
/// <summary>
/// Interface with service context information
Expand Down
74 changes: 31 additions & 43 deletions src/Hosting.Services/HostBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Configuration;
using Microsoft.Omex.Extensions.Abstractions;
using Microsoft.Omex.Extensions.Abstractions.Accessors;
using Microsoft.Omex.Extensions.Abstractions.ExecutionContext;
using Microsoft.Omex.Extensions.Abstractions.ServiceContext;
using Microsoft.Omex.Extensions.Logging;
using Microsoft.ServiceFabric.Data;

Expand Down Expand Up @@ -75,53 +77,39 @@ private static IHost BuildServiceFabricService<TRunner, TService, TContext>(
{
string serviceNameForLogging = serviceName;

try
if (string.IsNullOrWhiteSpace(serviceName))
{
if (string.IsNullOrWhiteSpace(serviceName))
{
// use executing assembly name for logging since application name not available
serviceNameForLogging = Assembly.GetExecutingAssembly().GetName().FullName;
throw new ArgumentException("Service type name is null of whitespace", nameof(serviceName));
}

builderAction(new ServiceFabricHostBuilder<TService, TContext>(builder));

IHost host = builder
.ConfigureServices((context, collection) =>
{
collection
.Configure<ServiceRegistratorOptions>(options =>
{
options.ServiceTypeName = serviceName;
})
.AddOmexServiceFabricDependencies<TContext>()
.AddSingleton<IOmexServiceRegistrator, TRunner>()
.AddHostedService<OmexHostedService>();
})
.UseDefaultServiceProvider(options =>
{
options.ValidateOnBuild = true;
options.ValidateScopes = true;
})
#pragma warning disable OMEX188 // AddOmexLogging using OmexLogger is obsolete. DiagnosticId = "OMEX188"
.ConfigureLogging(builder => builder.AddOmexLogging())
#pragma warning restore OMEX188 // AddOmexLogging using OmexLogger is obsolete. DiagnosticId = "OMEX188"
.Build();
// use executing assembly name for logging since application name not available
serviceNameForLogging = Assembly.GetExecutingAssembly().GetName().FullName;
throw new ArgumentException("Service type name is null of whitespace", nameof(serviceName));
}

#pragma warning disable OMEX188 // InitializationLogger using OmexLogger is obsolete. DiagnosticId = "OMEX188"
InitializationLogger.LogInitializationSucceed(serviceNameForLogging);
#pragma warning restore OMEX188 // InitializationLogger using OmexLogger is obsolete. DiagnosticId = "OMEX188"
builderAction(new ServiceFabricHostBuilder<TService, TContext>(builder));

return host;
}
catch (Exception e)
{
#pragma warning disable OMEX188 // InitializationLogger using OmexLogger is obsolete. DiagnosticId = "OMEX188"
InitializationLogger.LogInitializationFail(serviceNameForLogging, e);
#pragma warning restore OMEX188 // InitializationLogger using OmexLogger is obsolete. DiagnosticId = "OMEX188"
IHost host = builder
.ConfigureServices((context, collection) =>
{
collection
.Configure<ServiceRegistratorOptions>(options =>
{
options.ServiceTypeName = serviceName;
})
.AddOmexServiceFabricDependencies<TContext>()
.AddSingleton<IOmexServiceRegistrator, TRunner>()
.AddHostedService<OmexHostedService>();
// If specific context constructs are not registered, add defaults for telemetry purposes
collection.TryAddTransient<IServiceContext, EmptyServiceContext>();
collection.TryAddTransient<IExecutionContext, BaseExecutionContext>();
Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved
Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved
})
.UseDefaultServiceProvider(options =>
{
options.ValidateOnBuild = true;
options.ValidateScopes = true;
})
.ConfigureLogging(builder => builder.AddConfiguration())
Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved
.Build();

throw;
}
return host;
}

internal static IServiceCollection TryAddAccessor<TValue, TBase>(this IServiceCollection collection)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System;
using System.Fabric;
using Microsoft.Omex.Extensions.Abstractions;
using Microsoft.Omex.Extensions.Logging;
using Microsoft.Omex.Extensions.Abstractions.ServiceContext;

namespace Microsoft.Omex.Extensions.Hosting.Services
{
Expand Down
33 changes: 1 addition & 32 deletions src/Hosting/Certificates/CertificateReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,11 @@ namespace Microsoft.Omex.Extensions.Hosting.Certificates
internal class CertificateReader : ICertificateReader
{
private readonly ICertificateStore m_certificateStore;
private readonly ILogger m_logger;
private readonly ConcurrentDictionary<StoreName, CertificateInformation[]> m_certificatesCache;

public CertificateReader(ICertificateStore certificateStore, ILogger<CertificateReader> logger) : this(certificateStore, logger as ILogger)
{
}

internal CertificateReader(ICertificateStore certificateStore, ILogger logger)
public CertificateReader(ICertificateStore certificateStore)
{
m_certificateStore = certificateStore;
m_logger = logger;
m_certificatesCache = new ConcurrentDictionary<StoreName, CertificateInformation[]>();
}

Expand All @@ -42,40 +36,20 @@ internal CertificateReader(ICertificateStore certificateStore, ILogger logger)
}
}

if (matchingCertificate == null)
{
m_logger.LogError(Tag.Create(), "Could not find certificate with {0} thumbprint.", thumbprint);
}
else
{
m_logger.LogDebug(Tag.Create(), "Found certificate with {0} thumbprint.", thumbprint);
}

return matchingCertificate;
}

public IEnumerable<X509Certificate2> GetCertificatesByCommonName(string commonName, bool refreshCache, StoreName storeName)
{
Validation.ThrowIfNullOrWhiteSpace(commonName, nameof(commonName));

bool certFound = false;
foreach (CertificateInformation info in LoadCertificates(storeName, refreshCache))
{
if (string.Equals(info.CommonName, commonName, StringComparison.Ordinal))
{
certFound = true;
yield return info.Certificate;
}
}

if (certFound)
{
m_logger.LogDebug(Tag.Create(), "Found at least one certificate with {0} as common name.", commonName);
}
else
{
m_logger.LogError(Tag.Create(), "Could not find certificate with {0} as common name.", commonName);
}
}

public X509Certificate2? GetCertificateByCommonName(string commonName, bool refreshCache, StoreName storeName) =>
Expand All @@ -86,12 +60,7 @@ private CertificateInformation[] LoadCertificates(StoreName storeName, bool refr
CertificateInformation[]? certificates;
if (refreshCache || !m_certificatesCache.TryGetValue(storeName, out certificates))
{
m_logger.LogInformation(Tag.Create(), "Updating certificates cache for store '{0}'.", storeName);

certificates = m_certificateStore.GetAllCertificates(storeName, StoreLocation.LocalMachine).ToArray();

m_logger.LogInformation(Tag.Create(), "Inserting '{0}' certificates to certificates cache for store '{1}'.", certificates.Length, storeName);

m_certificatesCache[storeName] = certificates;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ public static class InitializationCertificateReader
/// <summary>
/// Instance of CertificateReader
/// </summary>
#pragma warning disable OMEX188 // InitializationLogger using OmexLogger is obsolete and is pending for removal by 1 July 2024.
public static ICertificateReader Instance { get; } = new CertificateReader(new CertificateStore(), InitializationLogger.Instance);
#pragma warning restore OMEX188 // InitializationLogger using OmexLogger is obsolete and is pending for removal by 1 July 2024.
public static ICertificateReader Instance { get; } = new CertificateReader(new CertificateStore());
}
}
8 changes: 1 addition & 7 deletions src/Hosting/ServiceCollectionExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.

using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Microsoft.Omex.Extensions.Hosting.Certificates;
using Microsoft.Omex.Extensions.Logging;

namespace Microsoft.Omex.Extensions.Hosting
{
Expand All @@ -26,11 +24,7 @@ public static IHostBuilder AddOmexServices(this IHostBuilder builder) =>
/// Add Omex Logging and ActivitySource dependencies
/// </summary>
public static IServiceCollection AddOmexServices(this IServiceCollection collection) =>
#pragma warning disable OMEX188 // OmexLogger and OmexLogEventSource are obsolete and pending for removal by 1 July 2024. Please consider using a different Logger.
collection
.AddOmexLogging()
#pragma warning restore OMEX188 // OmexLogger and OmexLogEventSource are obsolete and pending for removal by 1 July 2024. Please consider using a different Logger.
.AddOmexActivitySource();
collection.AddOmexActivitySource();
Gnol-VN marked this conversation as resolved.
Show resolved Hide resolved

/// <summary>
/// Add Omex Logging and ActivitySource dependencies
Expand Down
32 changes: 0 additions & 32 deletions src/Logging/ILogEventSender.cs

This file was deleted.

65 changes: 0 additions & 65 deletions src/Logging/InitializationLogger.cs

This file was deleted.

Loading
Loading