У меня есть следующий интерфейс:
public interface ILogger
{
void Debug(string message, params object[] values);
void Info(string message, params object[] values);
void Warn(string message, params object[] values);
void Error(string message, params object[] values);
void Fatal(string message, params object[] values);
}
и следующую реализацию:
public class Log4netLogger : ILogger
{
private ILog _log;
public Log4netLogger(Type type)
{
_log = LogManager.GetLogger(type);
}
public void Debug(string message, params object[] values)
{
_log.DebugFormat(message, values);
}
// other logging methods here...
}
Моя идея состояла в том, чтобы использовать structmap для создания экземпляра класса Log4netLogger с использованием типа класса, который выполнял ведение журнала. Тем не менее, я не могу на всю жизнь понять, как передать тип вызывающего класса структуре, чтобы он мог быть передан конструктору реализации журнала. Любые советы о том, как это сделать (или лучший способ), будут наиболее оценены.