關(guān)于rocketmq中日志文件路徑的配置指南
rocketmq 中的數(shù)據(jù)和日志文件默認(rèn)都是存儲在user.home路徑下面的,往往我們都需要修改這些路徑到指定文件夾以便管理。
服務(wù)端日志
網(wǎng)上搜索rocketmq日志存儲路徑的修改,一堆都是寫著要把源碼拉下來,用rocketmq_home全局替換user.home,然后再配置rocketmq_home變量。既然都是變量的替換,指定user.home的位置不就行了嗎?
rocketmq是java編寫的,也就是可以指定啟動參數(shù),按照上面那個思路我們只要在rocketmq啟動的時候指定啟動參數(shù)就行了。
在conf文件夾下,可以看到有3個logback日志配置文件,這三個配置文件對應(yīng)的也是runbroker、namesrv、tools3個腳本。修的對應(yīng)腳本的啟動參數(shù)即可。

由于namesrv不需要啟動參數(shù),所以我們只要指定另外兩個加如下啟動參數(shù)即可
set "JAVA_OPT=%JAVA_OPT% -Duser.home=D:\Soft\rocketmq"
修改完后重啟rocketmq就能看到指定路徑下有兩個文件夾,store文件夾是存儲數(shù)據(jù)的,logs文件夾是存儲日志的。

這樣服務(wù)端的日志和數(shù)據(jù)的配置就完成了。
客戶端配置
客戶端連接rocketmq會在用戶目錄產(chǎn)生一個rocketmq_client.log日志,如果需要是可以修改的,這里就拿rocketmq-dashboard項目舉例。
客戶端日志配置有兩種方式:
logUseSlf4j
如果項目中日志框架用的是logback的話可以使用這種方式,這種方式更靈活,可以自由配置日志格式
logUseSlf4j方式修改配置需要2步:
修改啟動類main方法
public static void main(String[] args) {
System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J,"true");
SpringApplication.run(App.class, args);
}
修改logback.xml 和 application.yml 配置文件 在application.yml 中加入如下rocketmq的日志存儲路徑
rocketmq:
client:
logPath: D:\Soft\rocketmq
修改logback.xml`文件
將logback.xml文件名修改為 logback-spring.xml,并修改xml里面的內(nèi)容,加入如下代碼:
<!--日志文件的存儲路徑-->
<springProperty scope="context" name="rocketmq_client_log_dir" source="rocketmq.client.logPath"/>
<!-- rocketmq日志 -->
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${rocketmq_client_log_dir}/logs/rocketmqlogs/rocketmq_client.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${rocketmq_client_log_dir}/history/rocketmq_client.%d{yyyyMMdd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>104857600</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--保留時間,單位:天-->
<maxHistory>3</maxHistory>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{ServiceId} - %m%n</pattern>
</encoder>
</appender>
<logger name="RocketmqClient" additivity="false">
<level value="warn" />
<appender-ref ref="RocketmqClientAppender"/>
</logger>
配置logRoot
這種方式使用起來比較簡單項目啟動參數(shù)中加入如下啟動參數(shù)即可
-Drocketmq.client.logRoot=D:\Soft\store
或者在項目中采用某種方式只要把rocketmq.client.logRoot參數(shù)放入到系統(tǒng)參數(shù)中就行,比如:
public static void main(String[] args) {
// -Drocketmq.client.logRoot=D:\Soft\store
System.setProperty(ClientLogger.CLIENT_LOG_ROOT,"D:\\Soft\\store");
SpringApplication.run(App.class, args);
}
這樣客戶端的日志就會在指定路徑下生成了。
總結(jié)
rocketmq 中不管是服務(wù)端還是客戶端的日志配置都是在類org.apache.rocketmq.client.log.ClientLogger中,通過ClientLogger可以發(fā)現(xiàn)rocketmq日志的參數(shù)都是加入到系統(tǒng)屬性中去的,所以我們只要修改對應(yīng)的系統(tǒng)屬性就可以修改rocketmq的日志配置了。感興趣的可以去看看源碼探索更多的可能。
到此這篇關(guān)于rocketmq中日志文件路徑的配置指南的文章就介紹到這了,更多相關(guān)rocketmq日志文件路徑配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java編程隊列數(shù)據(jù)結(jié)構(gòu)代碼示例
這篇文章主要介紹了java編程隊列數(shù)據(jù)結(jié)構(gòu)代碼示例,簡單介紹了隊列的相關(guān)基礎(chǔ)知識,然后通過實例向大家展示其實現(xiàn)方法,具有一定參考價值,需要的朋友可以了解下。2017-11-11
深入解析System.load 與 System.loadLibrary
以下是對System.load與System.loadLibrary進(jìn)行了詳細(xì)的分析介紹。需要的朋友可以過來參考下2013-08-08
解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlE
這篇文章給大家介紹了在Spring.xml文件中配置mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時失效問題解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-12-12
mybatis中insert主鍵ID獲取和多參數(shù)傳遞的示例代碼
這篇文章主要介紹了mybatis中insert主鍵ID獲取和多參數(shù)傳遞的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
SpringBoot構(gòu)造器注入循環(huán)依賴及解決方案
這篇文章主要介紹了SpringBoot構(gòu)造器注入循環(huán)依賴及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
Java導(dǎo)出Word文檔的實現(xiàn)方法詳解
這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出Word文檔的實現(xiàn)方法,在日常的開發(fā)工作中,我們時常會遇到導(dǎo)出Word文檔報表的需求,比如公司的財務(wù)報表、醫(yī)院的患者統(tǒng)計報表、電商平臺的銷售報表等等,需要的朋友可以參考下2023-08-08
Spring?@Cacheable注解類內(nèi)部調(diào)用失效的解決方案
這篇文章主要介紹了Spring?@Cacheable注解類內(nèi)部調(diào)用失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

