Download the PHP package webiny/logger without Composer
On this page you can find all versions of the php package webiny/logger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webiny/logger
More information about webiny/logger
Files in webiny/logger
Informations about the package logger
Logger
Logger component is used to log data. You can log whatever you want to whatever destination, all you need to do is create a handler
for your logger driver.
This component was heavily inspired by https://github.com/Seldaek/monolog library (if you used that one before, this component will be very familiar to you).
You may say it's identical, but we found some things we wanted to change/improve, like having a Record
class with proper getters/setters,
we changed some method namings, processing logic and other bits and pieces to better suite our framework.
We do lack different handlers, formatters and processors out-of-the-box, but that will come with time.
Install the component
The best way to install the component is using Composer.
For additional versions of the package, visit the Packagist page.
Drivers
Built-in drivers are:
Null
Webiny
Null
driver is used to turn off logging without changing your code. You simply change your configuration to use Null
driver and all your logging calls will be sent into the void.
Webiny
driver contains most of the functionality you will ever need from a logger, so that driver is used by default.
Logger component uses PSR-3 Logger Interface and PSR-3 Log Levels. All log level constants are located in LoggerLevel
class.
With that being said, you can create your own logger driver, which will not even have handlers, formatters, processors, or anything like that.
Just implement the logger interface and the rest is up to you. If you do like Monolog concept, then Webiny
driver is the way to go.
Logger setup
Here is an example logger service setup, which uses a FileHandler
, two processors and a FileFormatter
.
The structure of the config file is identical to all other Webiny components that register services.
NOTE: FileHandler
in our example (LogHandler service) takes a File
as first argument. We can only write to files
using Storage
component, so we need a service which provides us with a File
instance.
To use your logger in PHP:
The logic behind logger setup and log message processing
- Create a logger instance
- Create a handler instance(s) (you can have multiple handlers in your logger)
- Add processors and formatters to your handler instance(s)
- Add handler(s) to your logger
- Use your logger
When you log a message, it goes through each handler, which in turn passes it to each processor. Formatter is the last thing to change a record. It simply formats the record into form that is appropriate for your handler. It may be string, array, etc. At the very end of processing - handler writes the formatted record to destination (be it file, database, email, socket, etc.)
Resources
To run unit tests, you need to use the following command:
$ cd path/to/Webiny/Component/Logger/
$ composer.phar install
$ phpunit
All versions of logger with dependencies
webiny/config Version ~1.6
webiny/std-lib Version ~1.6
webiny/storage Version ~1.6
webiny/event-manager Version ~1.6
webiny/service-manager Version ~1.6
psr/log Version ~1.0