내 웹 API에서 autofac을 사용하여 log4net을 등록합니다. 그것은 컨트롤러에서 잘 작동하지만 어떻게 동일한 솔루션에서 공통 라이브러리 프로젝트 클래스에 대해 동일한 log4net 인스턴스를 사용할 수 있습니다.CommonLibrary 프로젝트에서 Autofac과 함께 Log4Net을 사용하는 방법
웹 API에 autofac을 사용하여 log4net을 등록하는 데 아래 코드를 사용했습니다.
// IOC Container Setup uisng Autofac
var builder = new ContainerBuilder();
// Register your Web API controllers.
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.Register(c => LogManager.GetLogger(typeof(Object))).As<ILog>();
builder.RegisterWebApiFilterProvider(config);
builder.RegisterModule<AMLWebApiModule>();
builder.RegisterFilterProvider();
var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
공용 라이브러리 프로젝트의 속성으로 로거를 사용하고 있습니다. public ILog logger { get; set; }
메시지를 기록하려고 할 때 예외가 발생했습니다.
개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
공용 라이브러리 프로젝트에서 log4net을 어떻게 사용할 수 있는지 알려주십시오.
인터페이스가 아닌 추상 클래스에 대해 클래스를 등록하는 방법은 무엇입니까? –
인터페이스처럼 해보십시오. 작동해야한다고 생각합니다. – Prashant