На самом деле, вы можете легко это исправить с помощью готового log4net. Ваша оболочка может вызвать Logger.Log и передать тип вашего класса оболочки в качестве первого параметра. Итак, ваша обертка может выглядеть примерно так:
public class MyLog4NetWrapper
{
ILog log = LogManager.GetLogger("WhateverYourLoggerNameIs");
public void logEvent(string message)
{
log.Logger.Log(typeof(MyLog4NetWrapper), LogLevel.Info, message, null);
}
}
Когда log4net регистрирует сообщение, оно пересекает стек вызовов, пока не попадет в метод, тип объявления которого равен типу, переданному в качестве первого параметра метода Log. Следующий метод в стеке - это действительный сайт вызова.
Что касается упаковки log4net logger, я не уверен, что рекомендую создать статический класс-оболочку. Основная проблема заключается в том, что в вашем файле app.config может быть только один настраиваемый регистратор. Другими словами, вы не сможете самостоятельно контролировать ведение журналов из разных частей вашего кода. Если у вас есть класс A и класс B, и оба используют статический логгер, то оба класса будут вести журнал на одном уровне. Если вы хотите включить вход для класса A и выключить для класса B, вы не сможете этого сделать.