Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<ItemGroup>
<InternalsVisibleTo Include="Uno.Extensions.Hosting.UWP" />
<InternalsVisibleTo Include="Uno.Extensions.Hosting.WinUI" />
<InternalsVisibleTo Include="Uno.Extensions.Logging.Serilog" />

<PackageReference Include="Uno.WinUI" />
</ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/Uno.Extensions.Logging.Serilog/HostBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public static IHostBuilder UseSerilog(this IHostBuilder hostBuilder,
});
}

private static LoggerConfiguration AddConsoleLogging(LoggerConfiguration configuration)
internal static LoggerConfiguration AddConsoleLogging(LoggerConfiguration configuration)
{
#pragma warning disable CA1416 // Validate platform compatibility: The net8.0 version is not used on older versions of OS
return configuration
Expand All @@ -107,7 +107,7 @@ private static LoggerConfiguration AddConsoleLogging(LoggerConfiguration configu
#pragma warning restore CA1416 // Validate platform compatibility
}

private static LoggerConfiguration AddFileLogging(LoggerConfiguration configuration, string logFilePath)
internal static LoggerConfiguration AddFileLogging(LoggerConfiguration configuration, string logFilePath)
{
//-:cnd:noEmit
#if __ANDROID__ || __IOS__ || NETSTANDARD
Expand Down
56 changes: 56 additions & 0 deletions src/Uno.Extensions.Logging.Serilog/LoggingBuilderExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
using System;
using System.IO;

using Microsoft.Extensions.Logging;

using Serilog;

namespace Uno.Extensions;

/// <summary>
/// Extension methods to adjust the scope of collected logs. (log level)
/// </summary>
public static class LoggingBuilderExtensions
{
public static ILoggingBuilder AddSerilog(
this ILoggingBuilder builder,
bool consoleLoggingEnabled = false,
bool fileLoggingEnabled = false,
Action<LoggerConfiguration>? configureLogger = null)
{
#pragma warning disable CS0436
var loggerConfiguration = new LoggerConfiguration();
// loggerConfiguration.ReadFrom.Configuration(context.Configuration);
if (consoleLoggingEnabled)
{
HostBuilderExtensions.AddConsoleLogging(loggerConfiguration);
}
if (fileLoggingEnabled)
{
var logPath = GetLogFilePath();
if (logPath is not null)
{
HostBuilderExtensions.AddFileLogging(loggerConfiguration, logPath);
}
}
#pragma warning restore CS0436
configureLogger?.Invoke(loggerConfiguration);
var logger = loggerConfiguration.CreateLogger();

builder.AddSerilog(logger);
return builder;
}

private static string? GetLogFilePath()
{
var logDirectory = ApplicationDataExtensions.DataFolder();

if (string.IsNullOrWhiteSpace(logDirectory))
{
return null;
}

var assemblyName = PlatformHelper.GetAppAssembly()?.FullName ?? "unologging";
return Path.Combine(logDirectory, $"{assemblyName}.log");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Uno.Extensions.Core.UI\Uno.Extensions.Core.WinUI.csproj" />
<ProjectReference Include="..\Uno.Extensions.Hosting\Uno.Extensions.Hosting.csproj" />
</ItemGroup>

Expand Down
Loading