如何使用log4net.config指定日志文件路径?

时间:2019-05-09 05:32:22

标签: asp.net-core-2.0 log4net log4net-configuration log4net-appender

在我的log4net.config中放入

pageTitle

&我的配置代码是

<appender name="Access" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%envFolderPath{CommonApplicationData}\MyApp\test.txt"/>  

,但是它没有在【C:\ ProgramData \ MyApp】中创建文件。

我也尝试使用

  • %envFolderPath {ApplicationData}
  • %envFolderPath {ProgramData}

任何想法。

谢谢!

1 个答案:

答案 0 :(得分:0)

在我的机器上工作正常。您可以尝试使用以下步骤对其进行调试:

  1. 尝试将信息记录到C:\ temp之类的硬编码路径中,以确保您的配置正常。
  2. 添加对System.Configuration.ConfigurationManager的引用,以确保所有的自由地方都存在
  3. 使用此行来配置log4net:

XmlConfigurator.Configure(LogManager.GetRepository(Assembly.GetEntryAssembly()), new FileInfo("log4net.config"));

  1. 确保您具有足够的权限来写入特殊文件夹。
  2. 使用相同的配置在.net核心中创建新的控制台应用程序,并启用内部调试:

log4net.Util.LogLog.InternalDebugging = true;

您将确切地看到发生了什么。您将看到应用程序正在使用的路径,并且将看到内部log4net配置期间发生的任何错误。