NLog を統合するには、インターフェイスを定義したいと考えており、2 つのアプローチを検討しています。C#を使用しています。
アプローチ 1:
public interface ILoggingManager
{
void DoErrorLogging(type , string )
void DoErrorLogging(type , string , exception )
void DoTraceLogging(type , string )
void DoTrace Logging(type , string , exception )
// And so on for all the types that Nlog supports.
....
// Finally would have 10 methods defined in this interface.
}
アプローチ 2:
//Have an Enum defined for the logging levels
public enum LoggingLevel
{
Error,
Warn,
Info,
Debug,
Trace
}
public interface ILoggingManager
{
void DoLogging(type , LoggingLevel , string )
void DoLogging(type , LoggingLevel , exception )
}
質問:
- 設計原則 (SOLID など) を念頭に置いたより良いアプローチはどれですか?
- パフォーマンスの観点から、どのアプローチがより良いアプローチですか?