My current project needs to be rearchitected and, so far, I like how Kephas sets the bases for applications generally (being licensed under MIT was crucial in evaluating it). However, we should do things incrementally, otherwise I'm afraid we will loose control over the project. Logging (we use ELMAH) is everywhere and I am afraid we cannot use DI/composition everywhere to replace the log calls, so we would need to preserve the existing code.
What do I have to do to have Kephas play nice with the existing logging infrastructure, but without having to duplicate it?
Just like in the DI/IoC, we built everything on top of abstractions, including logging. So we do depend internally on the ILogManager
and ILogger
interfaces, but what's behind them its up to you. We currently implemented only NLog and Log4Net adapters, but it should be only a few lines of code to support other logging frameworks, like ELMAH, in your case.
The steps in ELMAH support could be as follows:
Check https://github.com/kephas-software/kephas/tree/master/src/Kephas.Logging.NLog for an example on how you can create the adapters, and the samples for how to use them ().