【问题标题】:WPF log4net is not writing to the log file [duplicate]WPF log4net 未写入日志文件 [重复]
【发布时间】:2018-03-19 08:53:51
【问题描述】:

我有一个 WPF 解决方案。我下载了 log4net dll,添加了 log4net.config 并将“复制到输出目录”值设置为“始终复制”。

log4net.config:

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <file value="myapp.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>

我在 AssemblyInfo.cs 中添加了以下行:

  [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

然后是我的 TestWindowControl.xaml.cs

中的以下代码
public partial class TestWindowControl : UserControl
        {
            private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            public TestWindowControl()
            {
                XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));
                log.Info("info testing");
                log.Debug("debug testing");
                log.Error("error testing");
                log.Fatal("fatal testing");
                log.Warn("warn testing");
            }
        }

但是日志没有写入文件。它在控制台应用程序中工作,但不适用于 WPF。我错过了什么吗?

【问题讨论】:

  • 您在哪里创建 TestWindowControl 的实例?
  • 尚未创建实例。将文件路径传递给附加文件参数 正在将日志写入文件。但是当我安装这个扩展并执行日志时,并没有写入文件。
  • 如果你还没有创建实例,构造函数中的代码还没有执行...
  • 在 VSPackage.cs 文件中创建了一个实例 -> “MenuItemCallback”。现在,当我在本地运行时日志正在写入文件,但在服务器中,它没有发生。
  • 服务器? UserControl 与服务器有什么关系?

标签: wpf log4net


【解决方案1】:

尝试在appender里面设置过滤器

<filter type="log4net.Filter.LevelRangeFilter">
  <levelMin value="WARN" />
  <levelMax value="ERROR" />
</filter>

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 2012-11-11
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多