subhh/vufind-solrprobe

VuFindSearch 监听器,用于收集与搜索服务器的交互信息

v1.1.1 2023-06-08 09:29 UTC

This package is not auto-updated.

Last update: 2024-09-10 15:37:09 UTC


README

SolrProbe 版权所有 (c) 2022,2023 由汉堡州立和大学图书馆所有,并根据 GNU 通用公共许可证第3版发布。

描述

SolrProbe 集成到 VuFind 的搜索系统中,并收集与搜索服务器的交互信息。它收集以下信息:

  • 后端标识符
  • 搜索命令类名称
  • 会话标识符
  • 请求标识符
  • 触发 `.pre` 事件的时刻
  • 触发 `.post` 或 `.error` 事件的时刻
  • 如果有的话,Solr 查询时间
  • 请求状态("OK" 或异常类名称)
  • 请求状态码("200" 或异常代码)
  • 触发交互的 VuFind URL

使用方法

在 Laminas MVC 的 `bootstrap` 事件期间将 SolrProbe附加到共享事件管理器。

class Module {

    ...

    public function onBootStrap (MvcEvent $event) : void
    {
        $filename = sprintf('probe.log.%s', date('Y-m-d'));
        $logfile = fopen(__DIR__ . '/log/' . $filename, 'a');
        if ($logfile !== false) {
            $services = $event->getApplication()->getServiceManager();
            $events = $services->get('SharedEventManager');
            $handler = new SUBHH\VuFind\SolrProbe\LogfileHandler($logfile);
            $probe = new SUBHH\VuFind\SolrProbe\SolrProbe($handler);
            $probe->attach($events);
            register_shutdown_function([$probe, 'onEngineShutdown']);
    }

    ...
}

作者

David Maus <david.maus@sub.uni-hamburg.de>