hoho5000 / monolog-jira-handler
monolog 的 Jira 处理器
0.4.0
2020-12-30 20:18 UTC
Requires
- php: ^7.1.3
- ext-json: *
- monolog/monolog: ^1.0
- php-http/client-common: ^2.0
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.0
- php-http/httplug: ^2.0
- php-http/message: ^1.0
- php-http/message-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- nyholm/psr7: ^1.1
- php-http/guzzle6-adapter: ^2.0
- php-http/mock-client: ^1.3
- phpunit/phpunit: ^7.0
- symfony/var-dumper: ^4.2
This package is not auto-updated.
Last update: 2024-10-03 16:51:23 UTC
README
简介
此处理器将日志写入 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 文件以获取详细信息