私の会社の標準的なログツールはNLogです。私はQuartz.netを紹介しようとしており、Log4Netの代わりにNLogを使用できるかどうか尋ねられました。Quartz.NetのLog4NetからNLogに切り替えるにはどうしたらいいですか?
私はNLogを使うように再コンパイルすることができますが、可能ならば設定ファイルからやりたいと思います。
私の会社の標準的なログツールはNLogです。私はQuartz.netを紹介しようとしており、Log4Netの代わりにNLogを使用できるかどうか尋ねられました。Quartz.NetのLog4NetからNLogに切り替えるにはどうしたらいいですか?
私はNLogを使うように再コンパイルすることができますが、可能ならば設定ファイルからやりたいと思います。
Quartz.net 1.0.3を使用していると仮定します。
<configuration>
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
...
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog">
<arg key="configType" value="FILE" />
<arg key="configFile" value="~/NLog.config" />
</factoryAdapter>
</logging>
</common>
</configuration>
:次に、あなたは、アプリケーションの設定ファイルに以下の設定を追加する必要が
Common.Logging
Common.Logging.NLog
NLog
を:あなたは、次のアセンブリへの参照を追加する必要があります
外部のNLog.configファイルを使用しています。
注:
Quartz.netがCommon.Loggingバージョン1.2を使用しています。
これは確かにconfigディレクティブの使用ですが、既存のnlog設定があり、quartzロギングを単にドロップしたい場合は不要です。
単に、nugetから適切なバージョンの「Common.Logging.NLog」を参照して通常どおりロギングを設定し、最後にこれを追加します。
var config = new NameValueCollection();
var adaptor = new NLogLoggerFactoryAdapter(config);
Common.Logging.LogManager.Adapter = adaptor;
石英ロギング(およびすべての共通のロギング)のすべて既存のnlog設定に転送されます。
すごくうまくいった!ありがとう。将来の読者のためのメモ。すべてのDLLが正しいフォルダにコピーされることを確認します。 –
誰かが自分のプロジェクトでCommon.Loggingバージョンを1つだけ望む場合、私は風水と同じようにQuartzを2.0で再コンパイルしました。ソースをダウンロードし、バイナリを置き換えて再コンパイルしてください。 – Kjellski