forked from sarbian/ModuleManager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPrefixLogger.cs
More file actions
23 lines (20 loc) · 728 Bytes
/
Copy pathPrefixLogger.cs
File metadata and controls
23 lines (20 loc) · 728 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
namespace ModuleManager.Logging
{
public class PrefixLogger : IBasicLogger
{
private readonly string prefix;
private readonly IBasicLogger logger;
public PrefixLogger(string prefix, IBasicLogger logger)
{
if (string.IsNullOrEmpty(prefix)) throw new ArgumentNullException(nameof(prefix));
this.prefix = $"[{prefix}] ";
this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
public void Log(ILogMessage message)
{
if (message == null) throw new ArgumentNullException(nameof(message));
logger.Log(new LogMessage(message, prefix + message.Message));
}
}
}