需要修改此log4net以写入文件,具有写入许多文件的能力

时间:2011-10-11 17:43:06

标签: log4net

所以我已经有使用log4net的nhibernate工作了,我的web.config目前看起来像:

<log4net debug="false">
  <appender name="console" type="log4net.Appender.ConsoleAppender, log4net">
    <layout type="log4net.Layout.PatternLayout,log4net">
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"/>
    </layout>
  </appender>
  <!-- Setup the root category, add the appenders and set the default priority -->
  <root>
    <priority value="INFO"/>
    <appender-ref ref="console"/>
  </root>
</log4net>

现在我的要求是能够为我的应用程序中的每个主要模块创建一个单独的日志文件。

现在它似乎只是写入控制台,但我需要添加写入文件的功能。

我必须在配置中修改哪些内容才能执行此操作?

我希望能够在我的代码中说我想写入logfile“logfile_1”,如果它不存在,请创建它,否则只需附加到它。

1 个答案:

答案 0 :(得分:2)

非常简单,根据需要冲洗和重复您想要的文件数量,如果您希望它们以不同的方式分离,您也可以将命名空间与不同的文件相关联,但我发现只使用Log2Console一起查看文件更容易。

<appender name="FileAppender" type="log4net.Appender.FileAppender">
  <file value="k:\temp\log2console.log" />
  <appendToFile value="true" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <layout type="log4net.Layout.XmlLayoutSchemaLog4j" />
</appender>

不要忘记将appender-ref添加到根部分。