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

如何为Flyway命令行配置日志记录

韦繁
2023-03-14

在我的工作中,我们开始使用flyway,数据库管理员问我flyway是否有日志。在阅读了一些关于互联网和flyway文档的文章后,我没有找到一种方法来进行这种配置。

在StackOverflow上,一些用户说只需要将log4j放在类路径上就可以了。我尝试放置log4j文件但对我不起作用,但是当我尝试将SLF4J的文件放在flyway(类路径)的lib目录时:

  • slf4j-api-1.7.21.jar
  • slf4j-simple-1.7.21.jar
  • simplelogger.properties.

flyway的输出已更改插入日志前缀:

C:\dev\flyway-4.0.3

但是没有在我在文件上配置的目录上创建simplelogger.properties文件:

组织。slf4j。simpleLogger。logFile=C:/dev/flyway-4.0.3/log/flyway。日志

我应该如何配置日志?

欢迎任何帮助。

共有1个答案

高琛
2023-03-14

使用slf4j和logback在何处添加文件(也可以使用simplelogger,但logback更好)

  C: \ flyway - 4.0.3
 ├─ conf
 │ logback.xml
 └ ─ lib
        Logback-classic-1.1.7.jar
        Logback-core-1.1.7.jar
        Slf4j-api-1.7.21.jar 

回复。xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <property scope="context" name="LOG_DIR" value="logs" />

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %p : %m%n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_DIR}/flyway.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/flyway.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %p : %m%n</pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>

</configuration>

修改飞行路线。命令

%JAVA_CMD% -cp "%INSTALLDIR%\conf;%INSTALLDIR%\lib\*;%INSTALLDIR%\drivers\*" org.flywaydb.commandline.Main %*
 类似资料:
  • 问题内容: 如何配置OpenEJB日志记录格式?这就是我现在在日志中看到的内容: 我想禁用消息,并更改其他消息的格式。中的更改无效。 问题答案: 这是我为使事情正常运行所做的工作: 现在工作正常。这是我的: 这是: 现在,由于大卫的支持,我可以在测试期间微调OpenEJB的日志记录:)

  • 此问题与“通过flyway命令行迁移时将消息记录在日志文件中”有关。我在StackOverflow中浏览了下面的链接,并遵循了上面提到的步骤,但无法获取要遵循的步骤列表以查看日志文件中的消息。 如何配置Flyway命令行的日志记录 使用log4j进行Flyway测井? 带Logback的Flyway测井 我已经放置了log4j-1.2。17.jar,logback-classic-1.1。7.ja

  • 我使用的是Kafka producer客户端,我的项目中没有任何log4j配置。 在运行时,程序打印了大量的Kafka调试日志,这是我不想要的。

  • 我使用的是Flyway java API。 我想在我的日志中看到操作。 如何设置flyway日志?

  • 问题内容: 我无法理解Python的模块。我的需求非常简单:我只想将所有内容记录到syslog中。阅读文档后,我想到了这个简单的测试脚本: 但是此脚本不会在syslog中产生任何日志记录。怎么了? 问题答案: 将行更改为此: 这对我有用

  • Log4J允许您通过命令行,例如“-dlog4j.logger.com.whatever.myclass=debug”,通过您希望应用程序中的特定记录器进行日志记录的级别。我在logback找不到任何类似的设施。根据FAQ,它似乎允许您做的只是通过使用变量替换来设置根记录器的级别。是我遗漏了什么,还是登录不支持这个?谢了。