1515
1616namespace Serilog.Extensions.Logging
1717{
18- class SerilogLoggerProvider : ILoggerProvider, ILogEventEnricher
18+ /// <summary>
19+ /// An <see cref="ILoggerProvider"/> that pipes events through Serilog.
20+ /// </summary>
21+ public class SerilogLoggerProvider : ILoggerProvider, ILogEventEnricher
1922 {
20- public const string OriginalFormatPropertyName = "{OriginalFormat}";
23+ internal const string OriginalFormatPropertyName = "{OriginalFormat}";
2124
2225 // May be null; if it is, Log.Logger will be lazily used
2326 readonly ILogger _logger;
2427 readonly Action _dispose;
2528
29+ /// <summary>
30+ /// Construct a <see cref="SerilogLoggerProvider"/>.
31+ /// </summary>
32+ /// <param name="logger">A Serilog logger to pipe events through; if null, the static <see cref="Log"/> class will be used.</param>
33+ /// <param name="dispose">If true, the provided logger or static log class will be disposed/closed when the provider is disposed.</param>
2634 public SerilogLoggerProvider(ILogger logger = null, bool dispose = false)
2735 {
2836 if (logger != null)
@@ -37,16 +45,19 @@ public SerilogLoggerProvider(ILogger logger = null, bool dispose = false)
3745 }
3846 }
3947
48+ /// <inheritdoc />
4049 public FrameworkLogger CreateLogger(string name)
4150 {
4251 return new SerilogLogger(this, _logger, name);
4352 }
4453
54+ /// <inheritdoc />
4555 public IDisposable BeginScope<T>(T state)
4656 {
4757 return new SerilogLoggerScope(this, state);
4858 }
4959
60+ /// <inheritdoc />
5061 public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
5162 {
5263 for (var scope = CurrentScope; scope != null; scope = scope.Parent)
@@ -58,7 +69,7 @@ public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
5869#if ASYNCLOCAL
5970 readonly AsyncLocal<SerilogLoggerScope> _value = new AsyncLocal<SerilogLoggerScope>();
6071
61- public SerilogLoggerScope CurrentScope
72+ internal SerilogLoggerScope CurrentScope
6273 {
6374 get
6475 {
@@ -72,7 +83,7 @@ public SerilogLoggerScope CurrentScope
7283#else
7384 readonly string _currentScopeKey = nameof(SerilogLoggerScope) + "#" + Guid.NewGuid().ToString("n");
7485
75- public SerilogLoggerScope CurrentScope
86+ internal SerilogLoggerScope CurrentScope
7687 {
7788 get
7889 {
@@ -86,6 +97,7 @@ public SerilogLoggerScope CurrentScope
8697 }
8798#endif
8899
100+ /// <inheritdoc />
89101 public void Dispose()
90102 {
91103 _dispose?.Invoke();
0 commit comments