-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Module registration process
public class BitMonoApplication : IApplication
{
public AutofacServiceProvider Build()
{
return Build(new BitMonoAutofacServicesRegistryModule());
}
public AutofacServiceProvider Build(IModule module)
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule(module);
var container = containerBuilder.Build();
return new AutofacServiceProvider(container.Resolve<ILifetimeScope>());
}
}public class BitMonoAutofacServicesRegistryModule : Module
{
protected override void Load(ContainerBuilder containerBuilder)
{
var currentAssemblyDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var file = Path.Combine(currentAssemblyDirectory, "logs", "bitMono-{Date}.log");
containerBuilder.RegisterSerilog(new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.RollingFile(file, shared: true));
}
}Resolving Logger
var container = new BitMonoApplication().Build();
var logger = container.LifetimeScope.Resolve<ILogger>();Working fine in this case
containerBuilder.Register<ILogger>((c, p) =>
{
return new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.RollingFile(file, shared: true)
.CreateLogger();
});Metadata
Metadata
Assignees
Labels
No labels
