/// <summary>
        /// <see cref="IModule.Configure"/>
        /// </summary>
        /// <param name="container"></param>
        public void Configure(IComponentRegistry container)
        {
            switch (_mode)
            {
            case LoggingMode.Console:
                LoggingStack.UseConsoleLog();
                break;

            case LoggingMode.Config:
                LoggingStack.UseConfig();
                break;

            case LoggingMode.File:
                LoggingStack.ConfigureFromFile(_fileName);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            var builder = new ContainerBuilder();

            // register log provider
            builder.RegisterInstance(LoggingStack.GetLogProvider()).As <ILogProvider, INamedProvider <ILog> >();
            builder.Register(c => c.Resolve <INamedProvider <ILog> >().Get("Default"));
            builder.Update(container);
        }
Example #2
0
 public void Test_ConsoleLog()
 {
     using (var writer = new StringWriter())
     {
         Console.SetOut(writer);
         LoggingStack.UseConsoleLog();
         LoggingStack.GetLog().Error(new Exception(), "Some exception");
         Enforce.That(writer.ToString(), StringIs.NotEmpty);
     }
 }