跳至內容
測試伺服器
開發伺服器

pylon Event Logger#

pylon Event Logger 可讓您擷取使用 pylon SDK 或 Framegrabber SDK 建構的來源應用程式的事件訊息,以便進行疑難排解和效能改善。

目前,Event Logger 在 Windows 10/11 64 位元與 Linux Ubuntu 22.04 64 位元作業系統下受到支援。它可以擷取由 GigE、USB 3.0 與 CoaXPress 相機所記錄的事件,不過它針對搭配 CoaXPress 相機使用進行了最佳化。

Event Logger 作為搭配 pylon 使用的補充套件提供,或是整合至 Framegrabber SDK 安裝程式中。您可以從 Basler 網站下載這兩者。

pylon Event Logger Wain Window

使用者介面概覽#

應用程式選單#

可使用下列指令:

  • Settings:允許您開啟 Settings 對話方塊。
  • 縮到最小至匣 (Minimize to Tray): 允許您將 Event Logger 縮到最小。下方圖示會顯示在資訊匣中,表示 Event Logger仍在執行中。按一下此圖示可將 Event Logger 還原為完整大小。
    pylon Event Logger Info Tray Icon
  • Quit:允許您關閉 Event Logger。
Settings 對話方塊#

pylon Event Logger Settings 選單

Settings 對話方塊允許您為 Event Logger 設定一般設定:

  • 訊息檢視: 此設定僅能在全新工作階段中變更。
    • Max. number of messages in view:指定訊息檢視中顯示的訊息數量上限。
  • 檔案設定: 此設定僅能在全新工作階段中變更。
    • 檔案名稱前綴:工作階段期間所建立的工作階段資料夾與記錄檔的前綴。您可以指定自訂的檔案名稱前綴,或保留預設前綴。
    • 達到檔案數量與大小限制時停止:若啟用此選項,當達到指定的檔案數量與大小限制時,將會停止擷取。否則,達到限制時將會覆寫檔案。這可能意味著較舊的資料將會遺失。
    • 最大寫入檔案大小 [MB]:指定記錄檔的最大大小(以 megabytes 為單位)。
    • 支援的最大有效檔案數量:指定最大的檔案數量。
  • 記錄來源: 這些設定只能在暫停或完成擷取後變更。Event Logger 會透過 EltAppender 從來源應用程式擷取事件訊息,該應用程式使用網路連線將記錄資料傳輸至 Event Logger。EltAppender 可以透過 properties 檔案.
    您在此處進行的任何變更將在開始擷取時生效。
    • 連接埠:用於連接至來源應用程式的網路連接埠。預設值為 12320。此連接埠必須與來源應用程式的 properties 檔案中所定義的連接埠相同。
    • 主機名稱 / IP 位址:執行來源應用程式的主機名稱 / IP 位址,您將從該應用程式擷取 Event Logger 事件訊息。預設值為 localhost。
    • 啟動設定檔:決定由來源應用程式建立並可由 pylon Event Logger 擷取的事件訊息。請參閱以下章節以深入了解不同的 launch profiles。
啟動設定檔#

注意 – 啟動設定檔設定可能會影響來源應用程式的效能。

根據您設定 properties 檔案的方式,Event Logger 可能會擷取大量資料,這可能會導致效能問題或對來源應用程式的回應時間產生負面影響。

特別是從僅擷取少數記錄層級的設定檔(例如 Factory)切換到擷取較多記錄層級的設定檔(例如 Analysis 設定檔)時,您可能會發現效能下降。

每個啟動設定檔背後都有一個具有不同記錄層級預設設定的 properties 檔案。記錄層級定義了哪些訊息會從來源應用程式傳送至 pylon Event Logger。

按一下 Open Properties File 按鈕將帶您前往與您所選啟動設定檔相對應的 properties 檔案。

以下提供可用的啟動設定檔:

  • User:對於此設定檔,您必須提供自己的 properties 檔案。為了確保記錄功能如預期運作,您必須將 PYLON_LOG_CONFIG 環境變數設為有效且配置良好的 properties 檔案。
  • Default:如果您希望接收充足的資訊集同時又能維持良好的效能,Basler 建議使用此啟動設定檔。
  • Analysis:擷取大部分的記錄層級。如果您希望接收關於來源應用程式的全面資訊,請選擇此啟動設定檔。請記住,這可能會對效能產生影響。
  • Factory:記錄 FATAL、ERROR 和 WARN 訊息。選擇此啟動設定檔可確保良好的效能。請注意,這不會提供任何關於 NOTICE、INFO 或 DEBUG 日誌層級的資訊。
  • Custom1:允許您根據需求自訂日誌層級。
  • Custom2:允許您根據需求自訂日誌層級。

擷取選單#

可使用下列指令:

  • Start:開始從執行中的來源應用程式擷取日誌訊息。
  • Start and Launch Logging Source:允許您開啟要從中擷取事件訊息的來源應用程式,並使用目前選取的 launch profile 開始擷取。來源應用程式必須安裝在與 pylon Event Logger 相同的電腦上。
  • Pause:暫停擷取事件訊息。
  • Open:允許您開啟儲存了事件訊息的檔案。這可以是工作階段檔案(.pel)或舊版檔案(.log 或 .txt)。
  • Save:允許您將文字檔中擷取的事件訊息,連同篩選設定檔和工作階段一起儲存到您選擇的位置。預設資料夾名稱為 message file name_current date-current time。如需詳細資訊,請參閱「儲存工作階段資料」一節。
  • Clear:清除工作階段,亦即刪除目前顯示在訊息檢視中的所有事件訊息。

檢視選單#

可使用下列指令:

導覽檢視

導覽檢視可讓您指定將大型資料集的哪一部分載入到訊息檢視中。

此檢視主要用於資料集極大、超出訊息檢視限制(500,000 則訊息)的工作階段,或者當您將訊息檢視設定為顯示較少訊息,但 Event Logger 擷取的訊息數量超過該限制時。

此檢視還提供涵蓋整個資料集的全域文字搜尋功能。這與只能搜尋目前載入訊息檢視中訊息的搜尋功能形成對比。

如果找到搜尋結果,其二進位位置會在檢視中以藍色標記,您可以將導覽檢視的橘色搜尋列移動到該區段。

這可讓您在大型資料集中識別出值得分析的有趣位置。

使用 捲動至結尾 按鈕,您可以跳至資料集訊息的結尾:
捲動至結尾按鈕

活動檢視#

活動檢視

活動檢視會針對您選擇的時間基底,以圖表形式顯示訊息檢視中顯示的所有事件訊息。預設會顯示 WARN、ERROR 和 UNKNOWN 日誌層級。

您可以根據需要選擇/取消選擇要顯示的日誌層級。如果您想查看所有層級的所有條目,請勾選 ALL 核取方塊。日誌層級按從 UNKNOWN(最高優先權)到 DEBUG(最低優先權)排序。

根據每則訊息的差異時間(delta time),時間基底決定了擷取的事件訊息如何在活動檢視中分組。差異時間以毫秒為單位。由於活動檢視最多只能顯示 1000 個項目,因此 Timebase 下拉式方塊中的某些選項可能無法使用。

範例:您將時間基底設為 1 秒,且已擷取 1000 秒,亦即差異時間為 1000。活動檢視會針對您擷取的每一秒顯示一個刻度。如果您繼續擷取,將會超過 1000 個刻度的限制,且時間基底會自動切換至下一個最高選項,在此情況下為 15 秒。同時,1 秒選項將變為無法使用。

您可以通过按一下 Count 值大於零的圖表項目來瀏覽至訊息檢視項目。如果某個特定項目套用了多個日誌層級(且顯示了多個日誌層級),按一下該項目會帶您前往訊息檢視中具有最高優先順序的訊息項目。

根據所選的時間基底,多個事件訊息可能屬於同一個圖表項目。如果是這種情況,按一下圖表項目將會帶您前往最後發生的訊息。

說明選單#

您可以檢視關於 Event Logger 的一般資訊並存取 Basler Product Documentation

工具列按鈕#

圖示 功能
開始擷取 開始擷取事件訊息。
暫停擷取 暫停擷取事件訊息。在暫停擷取期間從來源應用程式傳送的所有訊息都會遺失。
開啟檔案 允許您開啟日誌檔案。
儲存檔案 將工作階段資料(包括所有事件訊息、醒目提示與顯示篩選設定)儲存至工作階段資料夾。
清除工作階段 清除訊息檢視中的所有訊息。
導覽檢視 開啟/關閉 導覽檢視。
活動檢視 開啟/關閉 活動檢視。
設定 開啟 設定對話方塊。
取得說明 開啟說明文件。

訊息檢視#

訊息檢視是 Event Logger 的核心區域,用於顯示事件訊息。對於每則訊息,均提供以下詳細資訊:

  • Timestamp
  • Delta Time
  • Thread ID
  • Source
  • Log Level
  • Message Info

在 設定對話方塊 中,您可以設定可見的訊息數量,範圍介於 5000 到 500000 之間。對於包含更多項目的資料集,您可以使用 導覽檢視的橘色搜尋列 來決定載入訊息的資料集相對位置。

捷徑選單針對目前選取的列提供以下選項。

  • Set Time Reference:允許您將目前選取的訊息指定為參考。所有其他訊息的時間差都是相對於此來計算的。
  • 複製: 複製目前選取列的內容。若只想複製訊息的一部分,請按一下以下按鈕來啟用文字選取功能: Select Text 按鈕:
    「Select Text」按鈕
  • Add Display Filter:根據您按一下滑鼠右鍵的表格儲存格(例如 Timestamp 或 Log Level)建立顯示篩選條件。
  • Add Highlight Filter:根據您按一下滑鼠右鍵的表格儲存格(例如 Timestamp 或 Log Level)建立醒目提示篩選條件。
  • Show in Activity View:在活動檢視中選取事件訊息發生的時間點。

訊息檢視具有一個側邊欄,提供多種用於管理訊息條目的工具。

圖示 功能
篩選列 開啟/關閉用於顯示與醒目提示篩選條件的篩選列。
顯示篩選條件 開啟 Display Filter 對話方塊。
醒目提示篩選條件 開啟 Highlight Filter 對話方塊。
搜尋 開啟/關閉訊息檢視搜尋功能。
移至上一個結果 允許您移至上一個搜尋結果。
移至下一個結果 允許您移至下一個搜尋結果。
移至列 允許您移至訊息檢視中的特定列。
自動換行 將 Message Info 欄位中的文字換行。
自動捲動至結尾 允許您跳至最後一則訊息。如果您保持啟用自動捲動且有新的事件訊息到達,訊息檢視畫面將會始終顯示最新的訊息。
自動調整欄寬 允許您將欄寬重設為預設值。
Select Text 允許您選取欄位儲存格中的文字,以更輕鬆地複製文字片段。

狀態列#

您可以在狀態列中檢視以下資訊:

  • Event Logger 狀態

    Status 含意
    擷取中 Event Logger 目前正在擷取訊息。
    已暫停 擷取已暫停。
    已開啟 已載入記錄檔。
    已清除 先前的連線工作階段已被清除。
    儲存 正在將訊息儲存至檔案。
    開啟中 正在載入記錄檔。
    載入中 正在將大型記錄檔的不同部分載入至訊息檢視畫面中。
    搜尋中 正在進行搜尋。
    篩選中 正在篩選訊息。
  • 訊息數量 (已篩選/總計)

  • 符合記錄層級 ERROR 的訊息數量
  • 目前選取 啟動設定檔
    您可以在擷取期間按一下目前的設定檔並選擇不同的設定檔來進行變更。
    在擷取期間變更啟動設定檔

您也可以從狀態列開啟 notifications view。

通知檢視

如果資訊圖示為藍色,表示有未讀取的通知。若要開啟通知檢視,請按一下資訊圖示:
資訊圖示

使用 pylon Event Logger#

您可以從在與 Event Logger 相同的電腦上或網路中其他主機電腦上執行的應用程式擷取事件訊息。為此,Event Logger 會使用 EltAppender,透過網路連線將記錄資料從來源應用程式傳輸至 Event Logger。EltAppender 可以透過 properties file 進行設定。

下載並安裝補充套件後,Event Logger 即會顯示在 pylon Viewer 的 Tools 選單中。為了讓這項功能正常運作,啟動 pylon Viewer 時的環境必須已將 PYLON_LOG_CONFIG 環境變數指向有效的 properties file。

Tools 選單中的 pylon Event Logger

若要將 pylon Event Logger 與 Framegrabber SDK 搭配使用,請在 Framegrabber SDK installation 期間選取它。

擷取事件訊息#

有兩種方式可設定 EltAppender 並開始擷取事件訊息。

資訊

在您開始擷取之前,必須先使用工具列中的 清除工作階段 按鈕清除先前的工作階段:
清除工作階段按鈕

  • EltAppender 的 自動設定

    1. 在 Capture 選單中,選取 Start and Launch Logging Source。
    2. 在 Open 對話方塊中,選取您要從中擷取事件訊息之來源應用程式的可執行檔,然後按一下 Run。
      應用程式隨即開啟並立即開始擷取。
  • EltAppender 的 手動設定

    1. 將您的來源應用程式部署到您要執行它的主機上。
    2. 如果主機是遠端電腦,請將包含記錄器設定的 properties file 複製到部署了來源應用程式的遠端電腦上。
      properties file 位於您使用者目錄的以下資料夾中:.pylonEventLogger
      如果 Event Logger 與來源應用程式部署在同一部電腦上,則不需要執行此步驟。
    3. 在執行來源應用程式的電腦上,設定環境變數 PYLON_LOG_CONFIG 指向包含記錄器設定的屬性檔案。
    4. 在您想要接收事件訊息的電腦上啟動 Event Logger。
    5. 如果主機是遠端電腦,請開啟 Settings 對話方塊,並將 Port 與 Host name / IP address 設定變更為主辦來源應用程式之遠端電腦的詳細資訊。
      如果 Event Logger 與來源應用程式部署在同一部電腦上,則不需要執行此操作。
    6. 按一下 Capture > Start 以開始擷取。
    7. 啟動您在第一個步驟中部署的來源應用程式。
      Event Logger 會連線至您的來源應用程式,並開始擷取事件訊息。

開始擷取後,Event Logger 會在您的使用者目錄中建立一個名為 .pylonEventLogger 的資料夾。針對每個擷取工作階段,Event Logger 都會在此處建立一個資料夾,其中包含一個記錄檔,記錄該工作階段中擷取到的所有事件訊息。預設資料夾名稱為 FileNamePrefix_current date-current time。您可以在 Settings dialog 中設定檔案和資料夾名稱前綴以及其他一般設定。

儲存工作階段資料#

如果您想要保留工作階段資訊(例如供以後使用或與他人共用),可以儲存工作階段。

若要儲存工作階段:

  1. 按一下 Save 按鈕清除先前的工作階段:
    儲存檔案按鈕
  2. 選取您要儲存工作階段的資料夾。
    系統將會建立一個名稱為 FileNamePrefix_current date-current time 的資料夾。其中包含下列檔案:

    • FileNamePrefix[n].txt: 包含所有已擷取事件訊息的記錄檔 n
    • displayFilterData.json: 包含顯示篩選條件設定
    • highlightFilterData.json: 包含突顯篩選條件設定
    • FileNamePrefix.pel: 工作階段檔案,其中包含所使用的篩選條件清單、所建立的記錄檔以及版本相容性資訊

透過從資料夾中開啟 .pel 檔案,您可以重新建立工作階段,並完整包含篩選條件與所有擷取的訊息。若要共用工作階段,只需將包含其所有內容的資料夾傳送給指定的收件者即可。

資訊

您也可以開啟先前 pylon 或 Framegrabber SDK 版本的記錄檔(例如副檔名為 .txt 和 .log 的檔案)。在此舊版模式中,無法剖析的訊息將會以「anytext」作為來源顯示。

篩選事件訊息#

您可以使用不同的篩選條件來減少顯示的事件訊息數量,或突顯事件訊息以提升能見度。

所有設定的篩選條件都會顯示在篩選列中,您可以在其中切換其啟用或停用狀態。

篩選列

設定篩選器#

建立和設定篩選條件最簡單的方法是:在訊息檢視的儲存格上按一下滑鼠右鍵,然後選取所需的篩選條件類型。系統會自動從您按一下的儲存格中取得篩選條件金鑰、運算與篩選值。

範例:如果您只想查看在特定時間點擷取的訊息,請在 Timestamp 上按一下滑鼠右鍵。在捷徑功能表中,選取 Add Display Filter。Display Filter 對話方塊隨即開啟,且所有資訊皆已填入。現在,您只需選取核取方塊來啟用篩選條件即可。結果如下所示:

從捷徑功能表建立的顯示篩選條件

如果需要,您可以透過新增子項和邏輯運算子來編輯篩選條件。

所有篩選條件設定都會儲存在工作階段資料夾中的 .json 檔案內。如果您只想保留篩選條件設定而不前往工作階段資料夾,也可以在 Display Filter 或 Highlight Filter 對話方塊中按一下 Export 來將其匯出。匯入設定時,請務必選取正確類型的 .json 檔案。您只能在 Highlight Filter 對話方塊中匯入突顯篩選條件設定,且只能在 Display Filter 對話方塊中匯入顯示篩選條件設定。

若要手動設定篩選條件:

  1. 在側邊欄中,按一下 Display Filter 或 Highlight Filter 按鈕。
    篩選條件設定對話方塊隨即開啟。
  2. 設定第一個篩選條件,方法是指定篩選鍵、運算子和篩選值。
    若要輸入篩選值,請點擊文字欄位。篩選值具有大小寫區分。
  3. 如果您正在設定醒目提示篩選器,請為您的篩選器選擇一種顏色。
    若要變更預設顏色,請點擊色票並在顏色對話方塊中選擇顏色。
  4. 如果需要,可以點擊條件旁邊的 新增子項 按鈕來新增子項。
    新增子項按鈕
    這會建立一個篩選群組,其中已新增第一個條件。透過點擊群組名稱,您可以變更群組的名稱。
    1. 點擊即可新增另一個篩選條件 新增項目 並指定篩選鍵、運算子和篩選值。
      新增篩選項目按鈕
    2. 選擇所需的運算子。
  5. 勾選對應的核取方塊以啟用篩選器。

以下螢幕截圖顯示了一個醒目提示篩選群組,該群組會以醒目提示顯示 INFO 和 NOTICE 日誌層級的事件訊息。

醒目提示 INFO 和NOTICE 事件訊息的醒目提示篩選器

Search Feature#

搜尋功能允許您執行純文字和基於查詢的搜尋。包含搜尋字串的事件訊息將以粗體顯示。

Search Feature

您可以使用側邊欄上的方向按鈕,相對於目前選取的列導覽至下一個/上一個搜尋結果。如果搜尋欄位處於焦點狀態,您也可以使用 F3/Shift+F3 來逐一檢視搜尋結果。

最近的 10 次搜尋會儲存在搜尋歷史紀錄中,並可從中重新執行。

搜尋結果的總數以及目前結果的索引會顯示在搜尋列的最右端。

搜尋功能為多個關鍵字提供自動完成功能。無論您是否選擇不分大小寫的搜尋模式,關鍵字都區分大小寫。

提供以下關鍵字:NOTICE、INFO、WARN、DEBUG、ERROR、Timestamp、ThreadID、Source、LogLevel、MessageInfo、Entity、side_down、related_to

以查詢為基礎的搜尋#

在基於查詢的搜尋中,您可以使用邏輯、數值和字串運算在訊息檢視的所有欄位中進行搜尋。

如果文字輸入以反斜線 (\) 開頭,查詢搜尋會自動啟用。對於每個文字輸入,驗證器會檢查輸入是否可被解析。如果輸入可被解析,搜尋文字將變為綠色。否則,文字將會加上紅色底線。一旦您有了有效的輸入表達式,請按下 Enter 鍵開始搜尋。

描述 運算子
等於 ==
與 &&
或 ||
非 !
大於 >
大於等於 >=
小於 <
小於等於 <=
包含 ?
開頭為 ^
結尾為 $
群組開始 (
群組結束 )
字面值開始/結束 "
跳脫 " \"
實體關係 side_down
實體關係 related_to
範例#

若要搜尋日誌層級為 DEBUG 或執行緒 ID 不等於 12 的事件訊息:

\(LogLevel == Debug) || (ThreadId != "12")

若要搜尋日誌層級包含字母「de」且執行緒 ID 以 1 開頭並以 2 結尾的事件訊息:

\(LogLevel ? de) && (ThreadId ^ 1) && (ThreadId $ 2)

進階用法#

屬性檔案#

開始擷取後,Event Logger 會在您的使用者目錄中建立一個名為 .pylonEventLogger 的資料夾。其中包含以下屬性檔案:

  • profileAnalysis.x.x.x.properties
  • profileCustom1.x.x.x.properties
  • profileCustom2.x.x.x.properties
  • profileDefault.x.x.x.properties
  • profileFactory.x.x.x.properties

x.x.x 表示 Event Logger 的版本。

這些檔案可用於變更來源應用程式的行為。它們包含有關您可以變更哪些設定的說明。例如,您可以指定來源應用程式發送訊息的記錄層級。這可讓您防止 Event Logger 湧入不相關的事件訊息。

命令列介面#

除了使用 Event Logger 的 GUI 工具外,亦可使用下列命令列選項:

引數 動作
-h, --help 顯示命令列選項的說明。
-m, --minimize 以最小化模式啟動應用程式。此功能僅適用於支援匣道 (tray) 模式的作業系統。
-l, --load 決定要在啟動時載入的記錄檔 (副檔名為 .pel 的工作階段檔案以及副檔名為 .txt 或 .log 的舊版檔案)。
-c, --capture 以擷取模式啟動應用程式。
-w, --write_properties 寫入屬性檔案並結束應用程式。不會覆寫現有的屬性檔案。