When we wish to expose the logger into sub classes the following pattern could be used.
class BaseClass { protected BaseClass() { Log = LogManager.GetLogger(GetType().ToString()); } protected Logger Log { get; private set; } } class ExactClass : BaseClass { public ExactClass() : base() { } ... }
Alternative solution could be this:
class BaseClass { protected virtual Logger Log { get { return _logger; } } private static Logger _logger = LogManager.GetCurrentClassLogger(); } class ExactClass : BaseClass { protected override Logger Log { get { return _logger; } } private static Logger _logger = LogManager.GetCurrentClassLogger(); }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4