Как добавить цель для отправки журналов на мой сервер Elasticsearch? В идеале я хотел бы иметь два errorLog в моем приложении WCF, где один отправляет данные в SQL, а другой - в Elasticsearch. Это временное решение, пока мы не отключим конечную точку SQL.
Это то, что у меня сейчас есть:
web.config
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog"/>
<errorLog type="My.Namespace.ElasticsearchErrorLog, My.Namespace" indexName="Elmah" />
<security allowRemoteAccess="false"/>
</elmah>
ElasticsearchErrorLog.cs
public class ElasticsearchErrorLog : Elmah.ErrorLog
{
public ElasticsearchErrorLog(IDictionary config)
{
}
public override ErrorLogEntry GetError(string id)
{
throw new NotImplementedException();
}
public override int GetErrors(int pageIndex, int pageSize, IList errorEntryList)
{
throw new NotImplementedException();
}
public override string Log(Error error)
{
Logger.ElmahInstance.Error(error.Exception, "Something went wrong {Message} ...", error.Message);
return Guid.NewGuid().ToString();
}
}
Есть идеи?