当前位置: 首页 > 知识库问答 >
问题:

logstash-logback-encoder不工作时的登录

凌长恨
2023-03-14

我在使用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"
  }
}

如果我删除文件“logback.xml”,日志记录就会工作,所以日志记录实际上会发生,但它不存储在文件中。

共有1个答案

陈宏胜
2023-03-14

logback极不可能登录到src/main/resources/logs/development.log您应该尝试查看是否在项目的其他地方创建了另一个development.log文件(例如在target中,或者如果您将项目运行到另一个环境中,例如服务器tomcat,请查找部署目录)

确认哪个文件实际获得日志后,可以尝试配置logstash,必须将其作为单独的程序运行。因此,logstash的配置不在项目的任何地方进行。或者你可以在一个单独的项目中运行它,但这有点奇怪。我个人总是直接从命令行运行它。

希望这能有所帮助

 类似资料:
  • 我的spring应用程序有以下logback.xml配置。我使用的是SizeAndTimeBasedRollingPolicy,并且我假装在一个月(即部分)的基础上对日志进行原始化。 出于调试的目的,目前我正在生成大量日志,但totalSizeCap似乎不起作用。我有一个一月的文件夹,差不多有8GB。 我看到这个日志:SizeAndTimeBasedRollingPolicy not honori

  • 我配置了logstash转发器并尝试解析日志文件。希望我通过查阅日志正确地完成了所有步骤。在运行logstash配置文件和logstash转发器时,我没有看到任何错误,但是文件解析没有启动。 以下是我的配置详细信息 日志存储的输出 sudo-bin/logstash-f/etc/logstash/central。使用里程碑1输入插件“lumberjack”进行配置。这个插件应该可以工作,但会从像你

  • 我们希望使用logstash获取日志并将其传递给Kafka。 我们已经为logstash1.5.0beta1和kafka 2.9.2_0.8.1.1编写了以下conf文件 ** ** 运行以下命令后:bin/logstash代理-ftest.conf--logex.log test.conf是我们的conf文件。ex.log是我们为要存储的日志创建的空白文件。 我们得到以下输出 发送logstas

  • 我在wildfly8中运行web应用程序,但由于某些原因,它没有登录。我使用SLF4J与日志。日志文件是在部署时创建的,但它是空的。我在wildfly日志中也看不到我的日志语句。 该类包含: null 在我看来,LOGBACK配置成功。但日志消息会丢失。知道那里会发生什么吗?这让我毫无意义。

  • 我正在Java创建一个管理系统。 我有这个登录表。与数据库的连接看起来很好,因为它没有给出错误。 但是当我尝试执行try{}和catch{}时,它给出了一个错误。 我希望有谁能帮助我。 它总是给出: catch(Exception ex){JoptionPane.ShowMessageDialog(null,“登录操作错误”,“登录错误”,JoptionPane.Error_Message);}

  • 我得到了一个登录表单,提交后,但似乎不自动认证,我可以看到匿名在分析器,即使我登录为管理员。 我正在从数据库中获取数据: 当然,数据库中存储的密码是加密的。 security.yml(app/config/security.yml) SecurityController.php(src/AppBundle/Controller) User.php(src/AppBundle/Entity/User