【问题标题】:'log4net' for trivial console application [duplicate]'log4net' 用于简单的控制台应用程序 [重复]
【发布时间】:2014-02-14 16:20:13
【问题描述】:
log4net.Config.BasicConfigurator.Configure();
log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));

通过这两行,我的记录器被配置为写入控制台。

如何改为只输出到文件?

【问题讨论】:

标签: c# log4net


【解决方案1】:

使用XmlConfigurator

log4net.Config.XmlConfigurator.Configure(new Uri("path to your file"));

【讨论】:

  • XmlConfigurator.Configure() 是从您的应用程序配置中读取配置。 OP 正在使用BasicConfigurator.Configure() 从代码构建他的配置。
【解决方案2】:

你可以像这样使用流畅的配置:

Dim fileappender = New log4net.Appender.RollingFileAppender()
fileappender.AppendToFile = True
fileappender.Threshold = log4net.Core.Level.Debug
fileappender.File = "MyLogFile_"
fileappender.DatePattern = "yyyyMMddhhmm"
fileappender.StaticLogFileName = False
fileappender.Layout = New log4net.Layout.SimpleLayout()
fileappender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date
fileappender.ActivateOptions()
DirectCast(log4net.LogManager.GetRepository(), log4net.Repository.Hierarchy.Hierarchy).Root.AddAppender(fileappender)
log4net.Config.BasicConfigurator.Configure(fileappender)
log.InfoFormat("Hurray. I have configured a rolling file appender via code.")

在这里找到这个 sn-p:http://rajeshsv.blogspot.it/2013/01/configuring-log4net-rolling-file.html

【讨论】:

    【解决方案3】:
      <log4net>
        <!--<Appender for Info and Error logging>-->
        <appender name="LogInfoFileAppender" type="log4net.Appender.RollingFileAppender" >
          <param name="File" value="D:\\InfoMode.txt" /> <!--<Please specify the file with path here for log file>-->
          <param name="AppendToFile" value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="2" />
          <maximumFileSize value="10MB" />
          <staticLogFileName value="true"/>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern"
                 value="%-5p – %20C %20M %m%n%n" />
          </layout>
        </appender>
    
        <root>
          <level value="ALL" />
          <appender-ref ref="LogInfoFileAppender" />
        </root>
      </log4net>
    

    私有静态只读ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    log.Error("连接失败");

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      相关资源
      最近更新 更多