Flume ng 自定義sink實現和屬性注入

2021-06-22 16:14:31 字數 860 閱讀 6570

**:

1.如何實現flume端自定乙個sink,來按照我們的規則來儲存日誌?

2.想從flume的配置檔案中獲取rootpath的值,該如何配置?

最近需要利用flume來做收集遠端日誌,所以學習一些flume最基本的用法。這裡僅作記錄。

自定義sink**:

public class localfilelogsink extends abstractsink implements configurable

@override

public status process() throws eventdeliveryexception

複製**

實現configurable介面,即可在初始化時,通過configure方法從context中獲取配置的引數的值。這裡,我們是想從flume的配置檔案中獲取rootpath的值,也就是日誌儲存的根路徑。在flume-conf.properties中配置如下:

agent.sinks = loggersink

agent.sinks.loggersink.rootpath = ./logs

複製**

loggersink是自定義sink的名稱,我們取值時的key,只需要loggersink後面的部分即可,即這裡的rootpath。

實際業務邏輯的執行,是通過繼承複寫abstractsink中的process方法實現。從基類的getchannel方法中獲取通道,從中取出event處理即可。

channel ch = getchannel();

transaction txn = ch.gettransaction();

txn.begin();

try

複製**

Flume ng 自定義sink實現和屬性注入

1.如何實現flume端自定乙個sink,來按照我們的規則來儲存日誌?2.想從flume的配置檔案中獲取rootpath的值,該如何配置?最近需要利用flume來做收集遠端日誌,所以學習一些flume最基本的用法。這裡僅作記錄。自定義sink public class localfilelogsin...

Flume ng 自定義sink實現和屬性注入

最近需要利用flume來做收集遠端日誌,所以學習一些flume最基本的用法。這裡僅作記錄。自定義sink public class localfilelogsink extends abstractsink implements configurable override public status...

Qt自定義sink風格按鈕

為了滿足工作中控制項多樣性的要求,一些控制項的風格需要通過重寫畫家事件的方式進行自定義 實現sink風格按鈕的效果圖如下 純 實現思路 產生按鈕下沉的效果是利用了視覺誤差原理,通過更改背景顏色以及圖示的位置,呈現出按鈕動態改變的效果。按鈕未按下狀態繪製 void sinkbutton drawuns...