首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >日志4网络在发布时不写入

日志4网络在发布时不写入
EN

Stack Overflow用户
提问于 2018-06-07 09:40:57
回答 1查看 944关注 0票数 2

我在.Net Core2.0上使用log4net,从visual studio运行时一切正常,但是当我(本地)发布我的应用程序时。文件已创建,但未向该文件写入任何消息。(当在调试和发布中运行时)。下面是我的配置:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <file value="./logs/ids4" />
    <datePattern value="yyyy-MM-dd.'txt'"/>
    <staticLogFileName value="false"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <maxSizeRollBackups value="100"/>
    <maximumFileSize value="15MB"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level App  %newline %message %newline %newline"/>
    </layout>
  </appender>
  <root>
    <level value="ALL"/>
    <appender-ref ref="RollingLogFileAppender"/>
  </root>
</log4net>

我的AppSettings.Json:

代码语言:javascript
复制
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

在我的启动文件中,我像这样配置日志:

代码语言:javascript
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();
    loggerFactory.AddLog4Net();
    //...
}

这也不是权限问题,因为文件仍然是创建的,只是它是空的。我最好的猜测是它与日志记录级别有关?我认为在debug中发布可以解决这个问题。

如何让日志在发布时正常工作?

注意到我已经看过一些关于这个问题的其他questions,但是他们的问题似乎是文件没有被复制到发布目录。Log4Net.Config在我的发布目录中,这不是问题所在

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 10:29:26

事实证明,我们有多个appsettings.json,还有appsettings.Development.json

我将它们都更改为使用:

代码语言:javascript
复制
"LogLevel": {
  "Default": "Information",
  "System": "Information",
  "Microsoft": "Information"
}  

一切都开始运转了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50731847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档