hoho5000/monolog-jira-handler

monolog 的 Jira 处理器

0.4.0 2020-12-30 20:18 UTC

This package is not auto-updated.

Last update: 2024-10-03 16:51:23 UTC


README

Build Status

简介

此处理器将日志写入 JIRA 实例。处理器将对日志数据进行哈希计算,除了时间敏感数据。然后,它将查询 JIRA REST API 以确定是否存在具有相应哈希值的 JIRA 问题。如果存在,则处理器将不执行任何操作。如果没有匹配的哈希值的问题,处理器将创建一个新问题,内容为日志条目。

安装

您可以通过 Composer 安装它

$ composer require hoho5000/monolog-jira-handler

用法

在此设置下,每个日志条目都将传输到 JIRA。

<?php

$jiraHandler = new JiraHandler('your.jira.host', 'username', 'password', 'project = MYAPP AND resolution = Unresolved', 'Loghash', 'MYAPP', 'Bug', true, 'Logcount');

$loger = new Logger('name');
$loger->pushHandler($jiraHandler);

$loger->error('something went wrong...');

如果有多个日志条目,首先缓存日志条目并在一步中全部传输到 JIRA 更有意义。

<?php

$jiraHandler = new JiraHandler('your.jira.host', 'username', 'password', 'project = MYAPP AND resolution = Unresolved', 'Loghash', 'MYAPP', 'Bug', true, 'Logcount');
$bufferHandler = new \Monolog\Handler\BufferHandler($jiraHandler);
$fingersCrossedHandler = new \Monolog\Handler\FingersCrossedHandler($bufferHandler);

$loger = new Logger('name');
$loger->pushHandler($fingersCrossedHandler);

// log records
$loger->debug('d1');
$loger->debug('d2');
$loger->debug('d3');
$loger->info('I am somehow nice to know');
$loger->error('something went wrong...');

处理器配置

JiraHandler 有几个构造函数参数。

这些参数在未来可能会有大量更改。

  • $hostname:您的 JIRA 实例的主机名,不带协议(https:// 是强制的)。
  • $username:创建问题(以及在 JIRA REST API 上执行的其他任何操作)所使用的用户名。
  • $password:用于验证您的 JIRA 实例的密码。
  • $jql:用于检查是否已存在与当前处理的日志条目相关的现有问题的 JQL。这允许在不同的 php 项目上记录完全相同的错误,这些项目将在不同的 JIRA 项目中创建问题。
  • $hashFieldName:将存储日志条目的 md5 哈希的自定义字段的名称。
  • $projectKey:创建新问题的项目密钥。
  • $issueTypeName:创建新问题时使用的问题类型。
  • $withComments:(默认:false)确定是否将后续相同的(相同的哈希)日志条目作为评论添加到已创建的问题中。
  • $counterFieldName:(默认:null)如果设置,则这是包含已记录日志条目数量的自定义字段的名称。
  • $excludeHashDataKeys:(默认:[])始终排除从生成哈希值的关键字值数组。
  • $httpClient:(默认:null)用于与 JIRA REST API 通信的 HTTP 客户端。允许任何 HTTPlug 客户端实现。如果未指定,它将尝试自动发现合适的客户端。

许可证

此库根据 MIT 许可证授权 - 请参阅 LICENSE 文件以获取详细信息