phpointless/monolol

符合PSR-3标准的lol-gger

1.2.0 2016-01-23 11:27 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:17:50 UTC


README

符合PSR-3标准的lol-gger

质量保证

SensioLabsInsight

Build Status Scrutinizer Code Quality Scrutinizer Code Coverage

安装

使用composer

composer require PHPointless/monolol

如何使用

Monolol为Monolog提供了一种新的包装处理程序:LolHandler。LolHandler将应用一个Lolifier,它将在包装处理程序处理的记录上执行一些操作。

例如,我们想要随机打乱所有将被Monolog StreamHandler处理的记录的日志消息单词。以下是实现这一功能的代码

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolol\Handlers\LolHandler;
use Monolol\Lolifiers;

$logger = new Logger('myLog');
$streamHandler = new StreamHandler(__DIR__ . '/monolol.log');

$lolHandler = new LolHandler($streamHandler, new Lolifiers\Shuffle());

$logger->pushHandler($lolHandler);

$logger->info('My littlest pony');
$logger->error('This burger has no cheese');

可用的Lolifier

  • Blackout:忘记一半的句子
  • Shuffle:记录消息中包含的单词将被随机打乱
  • Confuse:此Lolifier将随机更改记录的日志级别
  • GeekTime:只有当时间是下午1:37(13:37)时,才会处理记录
  • Hangman:在阅读日志文件时想玩Hangman游戏吗?
  • Hash:消息将使用随机选择的算法进行散列
  • LaMerNoire:消息将被替换为以下字符串:“La mer Noire”
  • Mirror:消息的内容将被反转(desrever eb lliw tnetnoc egassem sdrocer)
  • NotGiveAFuck:日志级别高于INFO的消息将被替换为以下字符串:“似乎您的应用程序遇到了问题。但既然我们不在乎,我们不会告诉您问题是什么。祝您愉快。”
  • NyanCat:Nya nya nya nya nya nya nya nya nya nya nya!
  • Quote:消息将被随机选择的引语替换。Quote Lolifier需要一个QuoteProvider。以下是如何使用它的示例
$quoteProvider = new Lolifiers\QuoteProviders\Kaamelott\Kadoc();
$lolHandler = new LolHandler($streamHandler, new Lolifiers\Quote($quoteProvider));

如果您想从多个提供者那里获取引语,可以使用QuoteProviders\Collection

$quoteProvider = new Lolifiers\QuoteProviders\Collection();
$quoteProvider->add(new Lolifiers\QuoteProviders\Kaamelott\Kadoc())
              ->add(new Lolifiers\QuoteProviders\Kaamelott\Karadoc())
              ->add(new Lolifiers\QuoteProviders\Kaamelott\Perceval());
$lolHandler = new LolHandler($streamHandler, new Lolifiers\Quote($quoteProvider));
  • Warp:处理记录将通过Warp旅行
  • Yell:在嘈杂环境中阅读您的日志文件
  • Yolo:“一个错误?你在说什么?没有错误!”所有日志级别高于INFO的记录将不会被处理
  • Tourette:Monolog患有抽动症。此Lolifier需要一个SwearWordsProvider。以下是如何使用它的示例
$swearWordsProvider = new Lolifiers\SwearWordsProviders\DefaultProvider();
$lolHandler = new LolHandler($streamHandler, new Lolifiers\Tourette($swearWordsProvider));