您好,登錄后才能下訂單哦!
這篇文章主要講解了“rocketmq中日志文件路徑怎么配置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“rocketmq中日志文件路徑怎么配置”吧!
rocketmq 中的數據和日志文件默認都是存儲在user.home
路徑下面的,往往我們都需要修改這些路徑到指定文件夾以便管理。
網上搜索rocketmq日志存儲路徑的修改,一堆都是寫著要把源碼拉下來,用rocketmq_home全局替換user.home
,然后再配置rocketmq_home變量。既然都是變量的替換,指定user.home
的位置不就行了嗎?
rocketmq是java編寫的,也就是可以指定啟動參數,按照上面那個思路我們只要在rocketmq啟動的時候指定啟動參數就行了。
在conf文件夾下,可以看到有3個logback日志配置文件,這三個配置文件對應的也是runbroker
、namesrv
、tools
3個腳本。修的對應腳本的啟動參數即可。
由于namesrv
不需要啟動參數,所以我們只要指定另外兩個加如下啟動參數即可
set "JAVA_OPT=%JAVA_OPT% -Duser.home=D:\Soft\rocketmq"
修改完后重啟rocketmq就能看到指定路徑下有兩個文件夾,store文件夾是存儲數據的,logs文件夾是存儲日志的。
這樣服務端的日志和數據的配置就完成了。
客戶端連接rocketmq會在用戶目錄產生一個rocketmq_client.log
日志,如果需要是可以修改的,這里就拿rocketmq-dashboard項目舉例。
客戶端日志配置有兩種方式:
如果項目中日志框架用的是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里面的內容,加入如下代碼:
<!--日志文件的存儲路徑--> <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>
這種方式使用起來比較簡單項目啟動參數中加入如下啟動參數即可
-Drocketmq.client.logRoot=D:\Soft\store
或者在項目中采用某種方式只要把rocketmq.client.logRoot
參數放入到系統參數中就行,比如:
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); }
這樣客戶端的日志就會在指定路徑下生成了。
感謝各位的閱讀,以上就是“rocketmq中日志文件路徑怎么配置”的內容了,經過本文的學習后,相信大家對rocketmq中日志文件路徑怎么配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。