diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-16 17:45:25 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-16 17:45:25 +0300 |
| commit | e66cd269ad02302f2a5a4ec377112cd61789647e (patch) | |
| tree | 3f229e2460a16e3b3383cb39e7458a19469553d2 /Software/Visual_Studio/Tango.Logging | |
| parent | 53f93d7fd2d2aa4571bad6e93e0c519fce242753 (diff) | |
| download | Tango-e66cd269ad02302f2a5a4ec377112cd61789647e.tar.gz Tango-e66cd269ad02302f2a5a4ec377112cd61789647e.zip | |
Application Logs & Embedded Logs on Logging Module!
Diffstat (limited to 'Software/Visual_Studio/Tango.Logging')
| -rw-r--r-- | Software/Visual_Studio/Tango.Logging/LogItemBase.cs | 14 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.Logging/LogManager.cs | 21 |
2 files changed, 32 insertions, 3 deletions
diff --git a/Software/Visual_Studio/Tango.Logging/LogItemBase.cs b/Software/Visual_Studio/Tango.Logging/LogItemBase.cs index 6b282b6ab..720de0905 100644 --- a/Software/Visual_Studio/Tango.Logging/LogItemBase.cs +++ b/Software/Visual_Studio/Tango.Logging/LogItemBase.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -53,6 +54,10 @@ namespace Tango.Logging /// </summary> public abstract override String ToString(); + /// <summary> + /// Gets the relative caller file path. + /// </summary> + /// <returns></returns> protected String GetRelativeCallerFilePath() { if (base_path == null) @@ -62,7 +67,14 @@ namespace Tango.Logging base_path = CallerFile.Replace(relative, ""); } - return CallerFile.Replace(base_path, ""); + if (Path.IsPathRooted(CallerFile)) + { + return CallerFile.Remove(0, base_path.Length); + } + else + { + return CallerFile; + } } } } diff --git a/Software/Visual_Studio/Tango.Logging/LogManager.cs b/Software/Visual_Studio/Tango.Logging/LogManager.cs index 804fc14c5..e34b2e86d 100644 --- a/Software/Visual_Studio/Tango.Logging/LogManager.cs +++ b/Software/Visual_Studio/Tango.Logging/LogManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; using System.Linq; @@ -22,8 +23,23 @@ namespace Tango.Logging private Thread _loggingThread; private bool _isStarted; - private static LogManager _default; + /// <summary> + /// Occurs when a new log as been received. + /// </summary> + public event EventHandler<LogItemBase> NewLog; + + /// <summary> + /// Gets the registered loggers. + /// </summary> + public List<ILogger> RegisteredLoggers + { + get { return _loggers.ToList(); } + } + private static LogManager _default; + /// <summary> + /// Gets the default log manager instance. + /// </summary> public static LogManager Default { get @@ -203,7 +219,7 @@ namespace Tango.Logging private void AppendLog(LogItemBase log) { if (log != null) - { + { _loggers.Where(x => x.Enabled && x.Immediate).ToList().ForEach(x => x.OnLog(log)); } @@ -243,6 +259,7 @@ namespace Tango.Logging if (log != null) { _loggers.Where(x => x.Enabled && !x.Immediate).ToList().ForEach(x => x.OnLog(log)); + NewLog?.Invoke(this, log); } } } |
