小编Fab*_*ian的帖子

log4net不会看我的app.config

我配置我的log4net来监视对app.config文件所做的更改.

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)

当我运行我的应用程序并更改配置文件中的内容时,这些更改仅在我重新启动应用程序时生效.为什么会这样?

还有办法告诉log4net监视app.config中的更改吗?喜欢:

<appender name="FileAppender" type="log4net.Appender.FileAppender" >
    <watch value="true" />
</appender>
Run Code Online (Sandbox Code Playgroud)

-------------编辑-------------

我现在尝试使用单独的配置文件:log4net.config.
它看起来像这样:

<log4net>
  <appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="c:\log.txt" />
    <appendToFile value="true" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d [%t] %-5p %c (line %L) -- %m%n" />
    </layout>
  </appender>
  <root>
    <appender-ref ref="FileAppender" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

在我的assemblyInfo.cs中,我写了以下内容:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

记录到该文件的类如下所示:

ILog myLogger = LogManager.GetLogger(typeof(Form1));
myLogger.Debug("test");
Run Code Online (Sandbox Code Playgroud)

这就像旧版本一样.日志文件条目已经生成,但是当我在运行时更改我的log4net.config时,这些更改不会应用...."Watch = true"应该启用该功能,对吧?

log4net app-config watch appender

12
推荐指数
2
解决办法
1万
查看次数

autofac - 在多模块应用程序中正确使用

我正在开发一个由许多模块组成的应用程序,其中一些模块依赖于其他模块.我现在决定使用Autofac来解决循环依赖关系并改进体系结构.

要配置autofac,我使用xml方法(http://code.google.com/p/autofac/wiki/XmlConfiguration).

现在我不确定如何实现Autofac.我是否需要在应用程序的每个模块中引用autofac?这意味着我每次想要解决依赖关系时都必须注册所有组件...

ContainerBuilder builder = new ContainerBuilder();
builder.RegisterModule(new ConfigurationSettingsReader("autofac", configPath));
IContainer container = builder.Build();
IWhatever w = container.Resolve<IWhatever>();
Run Code Online (Sandbox Code Playgroud)

这是这样做的吗?

或者在单独的模块中包装Autofac更好吗?使用这种方法,我只需要注册一次模块(当应用程序启动时),并且可以使用包装的Autofac来解决依赖关系......

IWhatever w = container.Resolve<IWhatever>();
Run Code Online (Sandbox Code Playgroud)

我希望有人能告诉我使用Autofac的最佳方法.

谢谢!

c# architecture autofac

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

app-config ×1

appender ×1

architecture ×1

autofac ×1

c# ×1

log4net ×1

watch ×1