我有这个logback
配置
<appender name="STASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>my.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/my-%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
我有logstash
服务,该服务读取了该文件并将其发送到elasticsearch
。
一切正常。 logstash
解析我的日志并发送到elasticsearch
,我可以在kibana
中读取它。但是,第二天上班时,我发现没有日志。在文件中,我有日志,但在elasticsearch
中,没有日志。我重新启动logstash
并显示日志。也许在一天结束时,文件已移至归档文件(SizeAndTimeBasedRollingPolicy
),日志已写入新文件-logstash
不理解这一点吗?该怎么解决?
编辑
input {
file {
path => "C:/MyServer/my.log"
codec => "json"
type => "my"
}
}
output {
if [type]=="my" {
elasticsearch {
hosts => [ "localhost:9200" ]
index => "my-%{+YYYY.MM.dd}"
}
}
}