pylon Event Logger#
目前,Event Logger 在 Windows 10/11 64 位和 Linux Ubuntu 22.04 64 位操作系统下受支持。它可以捕获由 GigE、USB 3.0 和 CoaXPress 相机记录的事件,不过它已针对配合 CoaXPress 相机使用进行了优化。
Event Logger 作为与 pylon 配合使用的补充软件包提供,或集成在 Framegrabber SDK 安装程序中。您可以从 Basler 网站下载这两者。

用户界面概述#
菜单#
应用程序菜单#
可用命令如下:
- 设置:允许您打开 设置对话框。
- 最小化到托盘: 允许您最小化 Event Logger。信息托盘中会显示下方图标,以表明 Event Logger仍在运行。单击该图标可将 Event Logger 恢复为完整大小。
- 退出:允许您关闭 Event Logger。
设置对话框#

设置对话框允许您为 Event Logger 配置常规设置:
- 消息视图: 此设置只能在干净的会话(clean session)中更改。
- 视图中的最大消息数:指定在消息视图中显示多少条消息的限制。
- 文件设置: 这些设置只能在干净的会话中更改。
- 文件名独占前缀:会话期间创建的会话文件夹和日志文件的统称前缀。您可以指定自己选择的文件名构架或保留默认前缀。
- 达到文件数量和大小限制时停止:如果启用此选项,则在达到指定的文件数量和大小限制时将停止捕获。否则,达到限制时将覆盖文件。这可能意味着较旧的数据将丢失。
- 最大写入文件大小 [MB]:以兆字节为单位指定最大日志文件大小。
- 支持的最大活动文件数:指定最大文件数。
- 日志记录源: 这些设置只能在暂停或完成捕获后更改。Event Logger 通过 EltAppender 从源应用程序捕获事件消息,该应用使用网络连接将日志数据传输到 Event Logger。可以通过以下方式配置 EltAppender properties 文件.
您在此处所做的任何更改将在开始捕获时生效。- 端口:用于连接到源应用程序的网络端口。默认值为 12320。此端口必须与源应用程序的 properties 文件中定义的端口相同。
- 主机名 / IP 地址:运行源应用程序的主机的主机名 / IP 地址,您希望从中捕获事件消息。默认值为 localhost。
- 启动配置文件:决定由源应用程序创建并可由 pylon Event Logger 捕获的事件消息。请参阅以下章节以了解有关不同 启动配置文件 的更多信息。
启动配置文件#
注意 – 启动配置文件设置可能会影响源应用程序的性能。
根据您配置 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:清除会话,即删除当前显示在 message view 中的所有事件消息。
“视图”菜单#
可用命令如下:
导航视图#

通过导航视图,您可以指定将大型数据集的哪个部分加载到 message view 中。
此视图主要用于具有极大数据集的会话,这些数据集超出了消息视图的限制(500000 条消息),或者如果您将消息视图配置为显示较少的消息,但 Event Logger 捕获的消息数量超过了该数量。
此视图还提供了一个涵盖整个数据集的全局文本搜索。这与只能搜索当前加载在消息视图中的消息的搜索功能形成对比。
如果找到搜索结果,其二进制位置将在视图中以蓝色标记,您可以将导航视图的橙色搜索栏移动到该部分。
这使您能够在大型数据集î中识别出用于分析的有趣点。
使用 滚动到末尾 按钮,您可以跳转到数据集中消息的末尾:
活动视图#

活动视图将显示在消息视图中的所有事件消息以图表形式显示为您所选的时间基准。默认情况下,显示 WARN、ERROR 和 UNKNOWN 日志级别。
您可以根据需要选择/取消选择要显示的日志级别。如果您想查看所有级别的所有条目,请选中 ALL 复选框。日志级别的排列顺序从 UNKNOWN(最高优先级)到 DEBUG(最低优先级)。
基于每条消息的 delta 时间,时间基准决定了捕获的事件消息如何在活动视图中分组。delta 时间以毫秒为单位。由于活动视图最多只能显示 1000 个项目,因此 Timebase 下拉框中的某些选项可能不可用。
示例:您将时基设置为 1 秒并已经采集了 1000 秒,即 delta time 为 1000。活动视图会为您采集的每一秒显示一个刻度。如果您继续采集,将超过 1000 个刻度的限制,并且时基会自动切换到下一个更高选项,在此情况下为 15 秒。同时,1 秒选项将不可用。
您可以通过点击 Count 值大于零的图表项来导航到消息视图条目。如果多个 log level 适用于特定项(并且显示了多个 log level),点击该条目将带您转到消息视图中优先级最高的消息项。
根据所选的时基,几个事件消息可能属于同一个图表项。如果是这种情况,点击图表项将带您转到最后发生的那条消息。
“帮助”菜单#
您可以查看有关 Event Logger 的一般信息并访问 Basler 产品文档
工具栏按钮#
| 图标 | 功能 |
|---|---|
| 开始事件消息采集。 | |
| 暂停事件消息采集。在暂停采集期间从源应用程序发送的所有消息都将丢失。 | |
| 允许您打开日志文件。 | |
| 将会话数据(包括所有事件消息、高亮和显示过滤器设置)保存到会话文件夹中。 | |
| 清除消息视图中的所有消息。 | |
| 打开/关闭导航视图。 | |
| 打开/关闭活动视图。 | |
| 打开设置对话框。 | |
| 打开文档。 |
消息视图#
消息视图是 Event Logger 显示事件消息的中心区域。对于每条消息,提供以下详细信息:
- Timestamp
- Delta Time
- Thread ID
- Source
- Log Level
- Message Info
在设置对话框中,您可以配置可见消息的数量,范围从 5000 到 500000。对于包含更多条的数据集,您可以使用导航视图的橙色搜索栏确定加载消息在数据集中的相对位置。
快捷菜单为当前选中的行提供以下选项。
- Set Time Reference:允许您将当前选中的消息指定为参考。所有其他消息的绝对时间差都是以此为参考计算的。
- 复制: 复制当前选中行的内容。若只想复制消息的一部分,请点击以下按钮启用文本选择: Select Text 按钮:
- Add Display Filter:根据您右键点击的表格单元格(例如 Timestamp 或 Log Level)创建一个显示筛选器。
- Add Highlight Filter:根据您右键点击的表格单元格(例如 Timestamp 或 Log Level)创建一个高亮筛选器。
- Show in Activity View:在活动视图中选择事件消息发生的时间点。
侧边栏按钮#
消息视图带有一个侧边栏,提供多种用于管理消息条目的工具。
| 图标 | 功能 |
|---|---|
| 打开/关闭用于显示和高亮筛选的筛选栏。 | |
| 打开 Display Filter 对话框。 | |
| 打开 Highlight Filter 对话框。 | |
| 打开/关闭消息视图搜索。 | |
| 允许您转到上一个搜索结果。 | |
| 允许您转到下一个搜索结果。 | |
| 允许您转到消息视图中的特定行。 | |
| 自动换行 Message Info 列中的文本。 | |
| 允许您跳转到最后一条消息。如果您保持启用自动滚动且有新的事件消息到达,消息视图将始终显示最新的消息。 | |
| 允许您将列宽重置为默认值。 | |
| 允许您在列单元格中选择文本,以便更轻松地复制文本片段。 |
状态栏#
您可以在状态栏中查看以下信息:
-
Event Logger 状态
状态 含义 正在采集 Event Logger 当前正在采集消息。 已暂停 采集已暂停。 已打开 已加载日志文件。 已清除 已清除先前的会话。 保存 正在将消息保存到文件。 打开 正在加载日志文件。 正在加载 正在将大型日志文件的不同部分加载到消息视图中。 正在搜索 搜索正在进行中。 正在过滤 正在过滤消息。 -
消息数量(已过滤/总计)
- 匹配日志级别 ERROR 的消息数量
- 当前已选择 启动配置文件
您可以在采集期间通过点击当前配置文件并选择另一个配置文件来对其进行更改。
您也可以从状态栏打开 notifications view。

如果信息图标为蓝色,则表示有未读通知。要打开通知视图,请点击该信息图标:
使用 pylon Event Logger#
您可以从与 Event Logger 在同一台计算机上运行的应用程序、或者从网络中的另一台主机捕获事件消息。为此,Event Logger 使用了 EltAppender,它通过网络连接将日志数据从源应用程序传输到 Event Logger。可以通过 properties file 配置 EltAppender。
下载并安装补充包后,Event Logger 将在 pylon Viewer 的 Tools 菜单中可用。为确保其正常工作,必须在 PYLON_LOG_CONFIG 环境变量已指向有效 properties file 的环境中启动 pylon Viewer。

要将 pylon Event Logger 与 Framegrabber SDK 配合使用,请在 Framegrabber SDK installation 期间将其选中。
采集事件消息#
配置 EltAppender 并开始捕获事件消息有两种方法。
信息
在开始采集之前,必须使用工具栏中的 清除会话 按钮清除先前的会话:
-
EltAppender 的 Automatic configuration
- 在 Capture 菜单中,选择 Start and Launch Logging Source。
- 在 Open 对话框中,选择要从中捕获事件消息的源应用程序的可执行文件,然后点击 Run。
应用程序随即打开,并且采集将立即开始。
-
EltAppender 的 Manual configuration
- 在您希望执行源应用程序的主机上部署该应用程序。
- 如果主机是远程计算机,请将包含日志记录配置的 properties file 复制到部署了源应用程序的远程计算机上。
properties file 位于您的用户目录中的以下文件夹内:.pylonEventLogger
如果 Event Logger 和源应用程序部署在同一台计算机上,则无需执行此操作。 - 在运行源应用程序的计算机上,设置环境变量
PYLON_LOG_CONFIG以指向包含日志记录配置的 properties file。 - 在您想要接收事件消息的计算机上启动 Event Logger。
- 如果主机是远程计算机,请打开 Settings 对话框,并将 Port 和 Host name / IP address 设置更改为托管源应用程序的远程计算机的详细信息。
如果 Event Logger 和源应用程序部署在同一台计算机上,则无需执行此操作。 - 点击 Capture > Start 开始捕获。
- 启动您在第一步中部署的源应用程序。
Event Logger 将连接到您的源应用程序并开始捕获事件消息。
开始捕获后,Event Logger 会在您的用户目录中创建一个名为 .pylonEventLogger 的文件夹。对于每个捕获会话,Event Logger 都会在此处创建一个文件夹,其中包含一个日志文件,记录在该会话中捕获的所有事件消息。默认文件夹名称为 FileNamePrefix_current date-current time。您可以在 Settings 对话框中配置文件和文件夹名称前缀以及其他常规设置。
保存会话数据#
如果您想保留会话信息(例如供以后使用或与他人共享),可以保存会话。
若要保存会话:
- 单击工具栏中的 保存 按钮清除先前的会话:
-
选择要保存会话的文件夹。
将创建一个名称为 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 对话框中导入显示筛选器设置。
若要手动配置筛选器:
- 在侧边栏中,点击 Display Filter 或 Highlight Filter 按钮。
筛选器配置对话框将打开。 - 通过指定筛选器键、操作和筛选器值来配置第一个筛选条件。
若要输入筛选器值,请点击文本字段。筛选器值区分大小写。 - 如果您正在配置高亮显示滤镜,请为您的滤镜选择一种颜色。
若要更改默认颜色,请点击色块并在颜色对话框中选择一种颜色。 - 如果需要,点击条件旁边的 添加子项 按钮以添加子项。
这将创建一个包含已添加第一个条件的滤镜组。通过点击组名称,您可以更改该组的名称。- 点击 添加项 以添加另一个滤镜条件,并指定滤镜键、操作和滤镜值。
- 选择所需的运算符。
- 点击 添加项 以添加另一个滤镜条件,并指定滤镜键、操作和滤镜值。
- 通过勾选相应的复选框来启用滤镜。
以下截图显示了一个高亮显示 INFO 和 NOTICE 日志级别事件消息的高亮滤镜组。

搜索功能#
搜索功能允许您执行纯文本搜索和基于查询的搜索。包含搜索字符串的事件消息将以粗体显示。

您可以使用侧边栏上的箭头按钮导航至相对于当前选中行的下一个/上一个搜索结果。如果搜索字段处于焦点状态,您还可以使用 F3/Shift+F3 在结果之间切换。
最近的 10 次搜索会保存在搜索历史记录中,并可以从中重新运行。
搜索结果总数以及当前结果的索引显示在搜索栏的最右侧。
搜索功能为许多关键字提供自动补全功能。无论您是否选择了不区分大小写的搜索模式,关键字都是区分大小写的。
可用关键字包括:NOTICE、INFO、WARN、DEBUG、ERROR、Timestamp、ThreadID、Source、LogLevel、MessageInfo、Entity、side_down、related_to
基于查询的搜索#
在基于查询的搜索中,您可以使用逻辑、数值和基于字符串的操作在消息视图的所有列中进行搜索。
如果文本输入以反斜杠 (\) 开头,查询搜索将自动可用。对于每个文本输入,验证器都会检查输入是否可以被解析。如果输入可以解析,搜索文本将变为绿色。否则,文本将被红色下划线标注。输入有效的表达式后,按回车键开始搜索。
| 描述 | 算子 |
|---|---|
| 等于 | == |
| 且 | && |
| 或 | || |
| 非 | ! |
| 大于 | > |
| 大于等于 | >= |
| 小于 | < |
| 小于等于 | <= |
| 包含 | ? |
| 开头为 | ^ |
| 结尾为 | $ |
| 组开始 | ( |
| 组结束 | ) |
| 字面量开始/结束 | " |
| 转义 " | \" |
| 实体关系 | side_down |
| 实体关系 | related_to |
示例#
要搜索日志级别为 DEBUG 或线程 ID 不是 12 的事件消息:
\(LogLevel == Debug) || (ThreadId != "12")
要搜索日志级别包含字母“de”且线程 ID 以 1 开头并以 2 结尾的事件消息:
\(LogLevel ? de) && (ThreadId ^ 1) && (ThreadId $ 2)
高级用法#
Properties 文件#
开始采集后,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 | 以最小化模式启动应用程序。此功能仅在支持托盘模式的操作系统上可用。 |
| -l, --load | 确定启动时要加载的日志文件(扩展名为 .pel 的会话文件以及扩展名为 .txt 或 .log 的旧版文件)。 |
| -c, --capture | 以捕获模式启动应用程序。 |
| -w, --write_properties | 写入 Property 文件并退出应用程序。不会覆盖现有的 Property 文件。 |