-
-
Notifications
You must be signed in to change notification settings - Fork 305
Expand file tree
/
Copy pathLoggingPolicies.cs
More file actions
39 lines (32 loc) · 1.34 KB
/
LoggingPolicies.cs
File metadata and controls
39 lines (32 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using JasperFx.CodeGeneration;
using JasperFx.CodeGeneration.Frames;
using Lamar;
using Wolverine.Configuration;
using Wolverine.Logging;
namespace Wolverine.Http.Logging;
public class AuditLoggingPolicy : IHttpPolicy
{
public void Apply(IReadOnlyList<HttpChain> chains, GenerationRules rules, IContainer container)
=> new Wolverine.Logging.AuditLoggingPolicy().Apply(chains, rules, container);
}
public class AddConstantsToLoggingContextPolicy<TMessage> : IHttpPolicy
{
readonly (string, object)[] _loggingConstants;
public AddConstantsToLoggingContextPolicy(params (string, object)[] loggingConstants)
{
_loggingConstants = loggingConstants;
}
public void Apply(IReadOnlyList<HttpChain> chains, GenerationRules rules, IContainer container)
=> new Wolverine.Logging.AddConstantsToLoggingContextPolicy<TMessage>(_loggingConstants).Apply(chains, rules, container);
}
public static class WolverineHttpOptionsExtensions
{
public static void AddLoggingConstantsFor<TMessage>(this WolverineHttpOptions options, params (string, object)[] kvp)
{
options.Policies.Add(new AddConstantsToLoggingContextPolicy<TMessage>(kvp));
}
public static void AddAuditLogging(this WolverineHttpOptions options, params (string, object)[] kvp)
{
options.Policies.Add(new AuditLoggingPolicy());
}
}