3

これまで、アプリケーションの開始時に構成された log4net ロガーを使用していました。

log4net.GlobalContext.Properties["LogRoot"] = @"../logs";
var log4netConfigFile = AppDomain.CurrentDomain.BaseDirectory + @"\log4net.config";
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(log4netConfigFile));

上記のコードは、構成ファイル log4net.config を使用してログが ../logs フォルダーに書き込まれるようにします。

現在、Serilog の使用を開始しており、現在の log4net ロギングを維持したいと考えていますが、専用の log4net シンクを持つ Serilog から制御されています。そこで、上記のコードをそのままにして、次の追加コードを書きました。

var logger = new Serilog.LoggerConfiguration()
    .WriteTo.ColoredConsole()
    .WriteTo.Log4Net()
    .CreateLogger();

アプリケーションの起動時にログ ファイルが作成されますが、Serilog ロガーを使用している限り、ログ ファイルは書き込まれません。

Serilog は、その log4net シンクで log4net 構成を使用すべきではありませんか?

4

0 に答える 0