我在使用logstash- Logback -encoder的logback时遇到了问题。
我的logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="stash" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<file>logs/development.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/development.log.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="all">
<appender-ref ref="stash" />
</root>
</configuration>我尝试在我的项目主目录中创建一个日志/开发:

由于某些原因,它不会写入日志文件。
我试着补充说:
input {
file {
path => "logs/development.log"
codec => "json"
}
}但是我不知道在我的项目中将它添加到哪里,这样logStash才能识别它。
如果我删除了文件"logback.xml",那么日志就会起作用,所以日志实际上发生了,但它并没有存储在文件中。
发布于 2014-07-10 22:51:44
logback将友好地登录到src/main/resources/logs/development.log是非常不可能的,您应该尝试查看项目中的其他位置是否没有创建另一个development.log文件(例如,在target中,或者如果您将项目运行到另一个环境,如服务器tomcat,请查找部署目录)。
一旦确认了实际获取日志的文件,就可以尝试配置logstash,它必须作为单独的程序运行。因此,logstash的配置在项目中的任何地方都不会发生。或者你可以在一个单独的项目中运行它,但这有点奇怪。我个人总是直接从命令行运行它。
希望这能有所帮助
https://stackoverflow.com/questions/24677416
复制相似问题