[seata]1.5.2版本server端问题反馈

2024-05-09 598 views
2

1.5.2的server端配置有问题,修改根目录下的conf\logback\file-appender.xml文件后(比如修改file输出位置),重启server端服务,发现配置无法生效,但是这个问题在1.4.2是不存在的,1.4.2版本修改该文件重启后会立即生效,请问这是什么问题,我应该怎么修改才能生效?

回答

3

改错了吧,把怎么改的文件发出来看下

0
logging:
  config: classpath:logback-spring.xml
  file:
    path: ${user.home}/logs/seata

改下application.yml里的file path看下

1
logging:
  config: classpath:logback-spring.xml
  file:
    path: ${user.home}/logs/seata

改下application.yml里的file path看下

(1)我确定没有改错,改的文件是conf\logback\file-appender.xml,修改点是日志文件输出路径以及保存天数,修改后不生效,不论是用bat启动还是sh启动都不生效(但是1.4.2版本是没问题的) (2)修改application.yml文件里面的logging.file.path是生效的,但是问题是我的修改点不止这些,我还想修改file-appender.xml里面更细致的内容,比如maxFileSize、MaxHistory等,请问怎么解决呀

9

file-appender.xml修改示例如下,修改日志输出位置,重启后发现日志还是输出到原来的位置(${user.home}/logs/seata):

<springProperty name="LOG_FILE_PATH"
                defaultValue="/appdata/logs/seata-server1.5.2"/>    
2

这是你没理解logback和spring如何结合导致的,LOG_FILE_PATH的source是spring读取的配置文件中的配置.不会不生效的,具体的路径呢改application.yml,appender的配置就改对应appender里的参数就行了

8

这是你没理解logback和spring如何结合导致的,LOG_FILE_PATH的source是spring读取的配置文件中的配置.不会不生效的,具体的路径呢改application.yml,appender的配置就改对应appender里的参数就行了

大佬,不知道是不是我描述不够准确,我再陈述一下 (1)LOG_FILE_PATH的source是spring读取的配置文件中的配置.不会不生效的 ---- 这个我清楚,没问题的,所以日志文件输出路径我可以在application.yml中配置覆盖

(2)appender的配置就改对应appender里的参数就行了 ---- 这个是不行的,我修改了conf\logback\file-appender.xml里面的很多配置了,不仅仅是LOG_FILE_PATH,比如下面的配置,我修改了输出日志文件名,也改了MaxHistory,但是都不生效! 请您一定要测试一下,肯定其中有什么问题,导致整个conf\logback\file-appender.xml没有被读取!我看了启动命令,猜测它只会读取target/seata-server.jar里面的配置,所以导致整个问题!

<appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE_PATH}/${APPLICATION_NAME:-seata-server}.${RPC_PORT}.all.testtttttttttttttttttttttt.log</file>
    <append>true</append>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${LOG_FILE_PATH}/%d{yyyyMM}/history/${APPLICATION_NAME:-seata-server}.${RPC_PORT}.all.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
        <maxFileSize>2GB</maxFileSize>
        <MaxHistory>31</MaxHistory>
        <totalSizeCap>7GB</totalSizeCap>
        <cleanHistoryOnStart>true</cleanHistoryOnStart>
    </rollingPolicy>
    <encoder>
        <Pattern>${FILE_LOG_PATTERN}</Pattern>
        <charset>UTF-8</charset>
    </encoder>
</appender>
5

这是你没理解logback和spring如何结合导致的,LOG_FILE_PATH的source是spring读取的配置文件中的配置.不会不生效的,具体的路径呢改application.yml,appender的配置就改对应appender里的参数就行了

补充两个测试案例,可以证实conf\logback\file-appender.xml文件并没有被成功加载 (1)将file-appender.xml中LOG_FILE_PATH的springProperty标签改成普通的标签property的写法,然后修改value值,发现怎么改都还是不生效,按理说此时不再受到spring配置的影响才对 (2)随意修改file-appender.xml文件,输出非xml的乱码内容,seata-server还能启动成功,说明启动时压根没有读取该文件

4

@a364176773 请问有在看这个问题不,您可以自测一下(1.5.2版本),确实存在问题哦