log4net uses environment variables

Environment.SetEnvironmentVariable("log_home", @"d:/log");
ILoggerRepository repository = LogManager.CreateRepository("Repository");
XmlConfigurator.Configure(repository, configFileInfo);
ILog log = LogManager.GetLogger(repository.Name, "test");
log.Info(DateTime.Now);

<log4net>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file type="log4net.Util.PatternString" value="%env{log_home}/"/>
    <appendToFile value="true"/>
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="30MB"/>
    <rollingStyle value="Composite"/>
    <datePattern value='yyyyMMdd'/>
    <staticLogFileName value="false"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level %logger - %message%newline"/>
    </layout>
  </appender>
  <root>
    <level value="DEBUG"/>
    <appender-ref ref="RollingLogFileAppender"/>
  </root>
</log4net>

 

Guess you like

Origin blog.csdn.net/slwsss/article/details/102530771