Я хотел бы расширить log4net для принятия пользовательских объектов журнала в качестве параметра.Например:
public class MyLogObject
{
public string PropA;
public int PropB;
}
private MyLogObject entry = new MyLogObject() {PropA = "FooBar", PropB = 1};
Log.Debug(entry);
... это должно работать аналогично исключениям.
На втором шаге пользовательские объекты журнала должны быть записаны в базу данных пользовательским приложением базы данных.Пользовательский обработчик базы данных будет похож на ADONetAppender, но с некоторыми изменениями, такими как внутренняя буферизованная очередь записей журнала.
Кто-нибудь знает, работает ли это с log4net, и если есть какие-то примеры, может помочь мнесделать это?
Свойства моего объекта журнала и полей базы данных фиксированы, поэтому нет необходимости настраивать их.
Обновление Моя идея состояла в том, чтобынастроить log4net для использования моего пользовательского «MyAppender» вместе с пользовательским рендерером «MyRenderer».Средство визуализации вернет простой SQL-оператор вставки с записью в базу данных приложением.Может быть, есть лучший способ сделать это.