1.5.2的server端配置有问题,修改根目录下的conf\logback\file-appender.xml文件后(比如修改file输出位置),重启server端服务,发现配置无法生效,但是这个问题在1.4.2是不存在的,1.4.2版本修改该文件重启后会立即生效,请问这是什么问题,我应该怎么修改才能生效?
[seata]1.5.2版本server端问题反馈
回答
改错了吧,把怎么改的文件发出来看下
logging:
config: classpath:logback-spring.xml
file:
path: ${user.home}/logs/seata
改下application.yml里的file path看下
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等,请问怎么解决呀
file-appender.xml修改示例如下,修改日志输出位置,重启后发现日志还是输出到原来的位置(${user.home}/logs/seata):
<springProperty name="LOG_FILE_PATH"
defaultValue="/appdata/logs/seata-server1.5.2"/>
这是你没理解logback和spring如何结合导致的,LOG_FILE_PATH的source是spring读取的配置文件中的配置.不会不生效的,具体的路径呢改application.yml,appender的配置就改对应appender里的参数就行了
这是你没理解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>
这是你没理解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还能启动成功,说明启动时压根没有读取该文件
@a364176773 请问有在看这个问题不,您可以自测一下(1.5.2版本),确实存在问题哦