Browse Source

Documentation

main
Dustin Wilson 1 year ago
parent
commit
23c475698a
  1. 52
      README.md

52
README.md

@ -6,6 +6,8 @@
[f]: http://tools.ietf.org/html/rfc5424 [f]: http://tools.ietf.org/html/rfc5424
[g]: https://code.mensbeam.com/MensBeam/Filesystem [g]: https://code.mensbeam.com/MensBeam/Filesystem
[h]: https://code.mensbeam.com/MensBeam/Catcher [h]: https://code.mensbeam.com/MensBeam/Catcher
[i]: https://github.com/symfony/polyfill/tree/main/src/Ctype
[j]: https://github.com/symfony/polyfill/tree/main/src/Mbstring
# Logger # # Logger #
@ -25,13 +27,16 @@ This library attempts what we're calling an "opinionated" implementation of PSR-
## Requirements ## ## Requirements ##
* PHP 8.1 or newer with the following _optional_ extensions: * PHP 8.1 or newer with the following _optional, but suggested_ extensions:
* ext-ctype * ext-ctype
* ext-mbstring * ext-mbstring
* [mensbeam/filesystem][g]: ">=1.0"
* [symfony/polyfill-ctype][i]: ">=1.8"
* [symfony/polyfill-mbstring][j]: ">=1.8"
### Note ### ### Note ###
This library uses [mensbeam/filesystem][g] which provides polyfills for `ext-ctype` and `ext-mbstring`. If you have these extensions installed the polyfills won't be used. However, they are still installed. If you don't want the polyfills needlessly installed you can add this to your project's `composer.json`: This library uses [mens beam/filesystem][g] which provides polyfills for `ext-ctype` and `ext-mbstring`. If you have these extensions installed the polyfills won't be used. However, they are still installed. If you don't want the polyfills needlessly installed you can add this to your project's `composer.json`:
```json ```json
{ {
@ -220,6 +225,7 @@ Takes a provided PSR-3 string level and returns a `Level` enum.
Returns a PSR-3 string level representation of the enum. Returns a PSR-3 string level representation of the enum.
### MensBeam\Logger\Handler ### ### MensBeam\Logger\Handler ###
Handlers inherit from this abstract class. Since it is an abstract class meant for constructing handlers protected methods and properties will be documented here as well. Handlers inherit from this abstract class. Since it is an abstract class meant for constructing handlers protected methods and properties will be documented here as well.
@ -252,7 +258,7 @@ _levels_: This is where the levels the handler is configured to support are stor
#### Options #### #### Options ####
Properties which begin with an underscore are all options. They can be set either through the constructor or via `setHandler` by name, removing the underscore (\_) at the beginning. All handlers inherit these options. Options in inherited classes should also begin with an underscore (\_). How to extend `Handler` will be explained further down in the document. Properties which begin with an underscore are all options. They can be set either through the constructor or via `setHandler` by name, removing the underscore (\_) at the beginning. All handlers inherit these options. Options in inherited classes should also begin with an underscore (\_).
_bubbles_: When set to true the stack loop will continue onto the next handler; if false it won't. Defaults to _true_ _bubbles_: When set to true the stack loop will continue onto the next handler; if false it won't. Defaults to _true_
_messageTransform_: A callable to use to transform messages before outputting. Defaults to _null_ _messageTransform_: A callable to use to transform messages before outputting. Defaults to _null_
@ -280,4 +286,42 @@ Outputs/dispatches the log entry
#### MensBeam\Logger\Handler::invokeCallback (protected) #### #### MensBeam\Logger\Handler::invokeCallback (protected) ####
A callback method meant to be extended by inherited classes to output/dispatch the log entry A callback method meant to be extended by inherited classes to output/dispatch the log entry
### MensBeam\Logger\StreamHandler ###
```php
namespace MensBeam\Logger;
class StreamHandler extends Handler {
public function __construct(resource|string $stream = 'php://stdout', array $levels = [ 0, 1, 2, 3, 4, 5, 6, 7 ], array $options = []);
public function getStream(): resource|string;
public function setStream(resource|string $value): void;
}
```
#### Options ####
_entryFormat_: The format of the outputted log entry. Defaults to _"%time% %channel% %level\_name% %message%"_
##### Entry Format #####
The following are recognized in the _entryFormat_ option:
| Format | Description | Example |
| ------------ | ----------------- | ---------------------------------------------------------------------- |
| %channel% | channel name | ook |
| %level% | log level integer | 1 |
| %level_name% | log level name | ALERT |
| %message% | log message | Uncaught Error: Call to undefined function ook() in /path/to/ook.php:7 |
| %time% | timestamp | Apr 08 09:58:12 |
#### MensBeam\Logger\StreamHandler::getStream ####
Returns the resource or a URL where the handler will output to
#### MensBeam\Logger\StreamHandler::setStream ####
Sets where the handler will output to
Loading…
Cancel
Save