|
|
@@ -1,67 +1,41 @@
|
|
|
-using System.Diagnostics;
|
|
|
-using System.IO;
|
|
|
-using NLog;
|
|
|
+using NLog;
|
|
|
|
|
|
namespace Log
|
|
|
{
|
|
|
- public class NLoggerAdapter: ILogger
|
|
|
+ public class NLoggerAdapter : ILogger
|
|
|
{
|
|
|
private const string SEP = " ";
|
|
|
|
|
|
- private readonly NLog.Logger logger = LogManager.GetCurrentClassLogger();
|
|
|
-
|
|
|
- public NLoggerAdapter()
|
|
|
- {
|
|
|
- this.FileName = true;
|
|
|
- this.FileLineNumber = true;
|
|
|
- }
|
|
|
+ private readonly ALogDecorater decorater;
|
|
|
|
|
|
- public bool FileName
|
|
|
- {
|
|
|
- get;
|
|
|
- set;
|
|
|
- }
|
|
|
-
|
|
|
- public bool FileLineNumber
|
|
|
- {
|
|
|
- get;
|
|
|
- set;
|
|
|
- }
|
|
|
+ private readonly NLog.Logger logger = LogManager.GetCurrentClassLogger();
|
|
|
|
|
|
- public string GetExtraInfo()
|
|
|
+ public NLoggerAdapter(ALogDecorater decorater = null)
|
|
|
{
|
|
|
- if (!this.FileLineNumber && !this.FileName)
|
|
|
+ this.decorater = decorater;
|
|
|
+ if (this.decorater != null)
|
|
|
{
|
|
|
- return SEP;
|
|
|
+ this.decorater.Level = 0;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- string extraInfo = "";
|
|
|
- var stackTrace = new StackTrace(true);
|
|
|
- var frame = stackTrace.GetFrame(3);
|
|
|
-
|
|
|
- if (FileName)
|
|
|
- {
|
|
|
- var fileName = Path.GetFileName(frame.GetFileName());
|
|
|
- extraInfo += fileName + " ";
|
|
|
- }
|
|
|
- if (FileLineNumber)
|
|
|
+ public string Decorate(string message)
|
|
|
+ {
|
|
|
+ if (decorater == null)
|
|
|
{
|
|
|
- var fileLineNumber = frame.GetFileLineNumber();
|
|
|
- extraInfo += fileLineNumber + " ";
|
|
|
+ return message;
|
|
|
}
|
|
|
- extraInfo += SEP;
|
|
|
-
|
|
|
- return extraInfo;
|
|
|
+ return decorater.Decorate(message);
|
|
|
}
|
|
|
|
|
|
public void Trace(string message)
|
|
|
{
|
|
|
- logger.Trace(GetExtraInfo() + message);
|
|
|
+ logger.Trace(Decorate(SEP + message));
|
|
|
}
|
|
|
|
|
|
public void Debug(string message)
|
|
|
{
|
|
|
- logger.Debug(GetExtraInfo() + message);
|
|
|
+ logger.Debug(Decorate(SEP + message));
|
|
|
}
|
|
|
}
|
|
|
}
|