【问题标题】:Log4net log file stop rolling after logstash implementation (Windows)Log4net 日志文件在 logstash 实施后停止滚动(Windows)
【发布时间】:2015-01-16 03:36:27
【问题描述】:

在我的系统中实施 Logstash 之前,我的 log4net 文件在达到 4MB 时会滚动到一个新的日志文件。但是现在的行为是它不会滚动到新的日志文件,而是删除日志文件中的内容并将新的日志消息附加到同一个日志文件中。似乎 Logstash 正在锁定 log4net 日志文件并阻止它滚动。

我在这里做错了吗?或者这是 Windows 中 logstash 的错误?

仅供参考,我使用的logstash版本是v1.4.2。

以下是logstash文件输入的代码:

input { 
    file {
        path => "C:/Logs/*"
        exclude => "*.ERROR.log"
        codec => multiline {
                    pattern => "^(WARN|ERROR|INFO)"
                    negate => true
                    what => previous
                }
      }
}

以下是我的控制台应用程序的 log4net 配置代码:

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %a %5rms %-22.22c{1} %-18.18M [%t] - %m MsgEnd%n" />
      </layout>
    </appender>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %a %5rms %-22.22c{1} %-18.18M [%t] - %m MsgEnd%n" />
      </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:Logs\\APICentral.ProcessRunner.ALL.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="20" />
      <maximumFileSize value="4MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %a %5rms %-22.22c{1} %-18.18M [%t] - %m MsgEnd%n" />
      </layout>
    </appender>
    <appender name="ErrorOnlyRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\\Logs\\APICentral.ProcessRunner.ERROR.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="2MB" />
      <staticLogFileName value="true" />
      <param name="Threshold" value="ERROR" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %a %5rms %-22.22c{1} %-18.18M [%t] - %m MsgEnd%n" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="WARN" />
        <levelMax value="ERROR" />
      </filter>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="ConsoleAppender" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="ErrorOnlyRollingLogFileAppender" />
    </root>
  </log4net>

【问题讨论】:

  • 不确定 log4net 的具体情况,但这在 Windows 上已经存在一段时间了。logstash.jira.com/browse/LOGSTASH-986 。几乎让我们也无法使用它。
  • 你有没有想过这个问题?当 Logstash 服务运行时,我们的日志将按日期停止滚动...

标签: log4net logstash


【解决方案1】:

根据https://github.com/elastic/logstash/issues/1557,这已在 Logstash 1.5 版中修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多