車輪の再発明をしないようにしようとの大ファンです。既存のアペンダーを使用する独自のアペンダーを作成することをお勧めしますが、エラーが発生したときの処理をプロパティに追加します。新しいアペンダーの基本クラスとしてAppenderSkeletonを使用し、そこから使用するアペンダーの追加機能を呼び出すことができます。
だから、log4は、あなたのロガーを使用している場合、それはこのようなものになります(注:これは完全ではありませんが、あなたの出発点を与える必要があります):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net.Appender;
using log4net.Core;
namespace logger {
class FailoverAppender : AppenderSkeleton {
protected override void Append(LoggingEvent loggingEvent) {
// Send the log message to the web service.
try {
FirstAppender.Append(loggingEvent);
}
catch (Exception e) {
try{
SecondAppender.Append(loggingEvent);
}
catch (Exception e2){
ErrorHandler.Error("An error occurred while connecting to the logging service.", e);
}
}
}
}
}
私はこれがあなたが始めるのに役立ちます願っています、多分あれば完了したら、ここにもソリューションを投稿することができます。
NLogでは、複数のログターゲットを指定できます。 log4netも許可していませんか? –
私はOPが望んでいると思うが、複数のログターゲットを持っているが、プライマリログが利用できないときには代替ログターゲットを使用するだけである。 – aKzenT
可能な複製:http://stackoverflow.com/questions/3244623/how-to-configure-log4net-for-fallback – aKzenT