マルチプロジェクトソリューションでlog4netを使用する場合のベストプラクティスは何ですか? すべてのプロジェクトにlog4net Nugetをインストールしますか? 私は、log4netを使用するインフラストラクチャでロガーを作成する方法はありますか? 私は何か考えていただければ幸いです。マルチプロジェクトソリューションでlog4netを使用
2
A
答えて
2
個人的には、私のロガーをIoCコンテナ経由で注入する方が好きです。あなたはすることはできますが、する必要はありません。
あなたのロギングニーズのためのインターフェイスを作成して、すべてのプロジェクトに参照があるプロジェクトに配置するだけです。 (コア)
public interface ILogger
{
void Trace(string message);
void Trace(string format, params object[] args);
void Info(string message);
void Error(string message);
void Error(string message, Exception exception);
void Error(Exception exception);
}
これで、必要な場合は各ロガーライブラリの実装を作成し、必要に応じて切り替えることができます。しかし、私はロギングインフラストラクチャを変更するプロジェクトを見たことがありません。
上記のILoggerインターフェイス用のNlogロガー実装。あなたは自分のlog4netのロガーの実装を作成し、そのインスタンスを初期化した場合、彼らはその実装を使用している場合
using System;
using NLog;
namespace Tvinio.Core.Logging.NLog
{
public class NLogger : ILogger
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public void Trace(string message)
{
Logger.Trace(message);
}
public void Trace(string format, params object[] args)
{
Logger.Trace(format, args);
}
public void Info(string message)
{
Logger.Info(message);
}
public void Error(string message)
{
Logger.Error(message);
}
public void Error(string message, Exception exception)
{
Logger.Error(exception, message);
}
public void Error(Exception exception)
{
Logger.Error(exception);
}
}
}
さて、Visual Studioは、参照されるすべてのプロジェクトにあなたのための参照を運ぶでしょう。
また、依存性注入についても読むことを強くお勧めします。ここで記事を見つけることができます。 http://martinfowler.com/articles/injection.html
関連する問題
- 1. マルチプロジェクトソリューション用の1つのロガー
- 2. エラートライDOTNETがマルチプロジェクトソリューション
- 3. エンティティフレームワークを使用したlog4Net
- 4. VS2010マルチプロジェクトソリューション - コンソールとフォームアプリケーション
- 5. ASP.NET + C# - マルチプロジェクトソリューションのデプロイ
- 6. web.configなしでlog4netを使用
- 7. Log4Netをマルチスレッド環境で使用する
- 8. Unity IoCでlog4netを使用する
- 9. アドインでlog4netを使用した.Netアドインフレームワーク
- 10. Azure関数でlog4netを使用する
- 11. log4netを使用してXML列にログ
- 12. log4netを使用したWeb.config変換
- 13. log4netを使用したDotNetOpenAuth 1.2.11
- 14. xbuildを使用してマルチプロジェクトソリューションからプロジェクトを1つだけ構築する
- 15. 依存性注入:マルチプロジェクトソリューションを使用するときに注入する方法
- 16. .Net Coreを使用したlog4net RemoteSyslogAppenderの使用
- 17. プリズム4 Log4Net用ILoggerFacade?
- 18. log4net:同じアペンダー設定で複数のログレベルを使用する
- 19. log4net出力Jsonを使用できますか?
- 20. log4netで使用されるconnectionStringを暗号化するAdoNetAppender
- 21. log4netでは、使用するアペンダーを指定しますか?
- 22. CommonLibraryプロジェクトでLog4NetとAutofacを使用する方法
- 23. log4netでログアセンブリバージョン?
- 24. Log4Netを使用してファイルを作成していません
- 25. Ninjectを使用してLog4Netをコンソールアプリケーションに注入
- 26. ブロブストアを使用してlog4netを設定して監視する
- 27. log4netを使用して常に値を記録する
- 28. log4net(C#)を使用してスタックトレースを記録する方法
- 29. log4netのは、私が活動をログに記録するlog4netのを使用しています
- 30. log4netの私はlog4netのを使用していますが、私はsmtpappenderを追加した