https://github.com/sensorario/develog
packagist page
https://github.com/sensorario/develog
log php7
Last synced: 8 months ago
JSON representation
packagist page
- Host: GitHub
- URL: https://github.com/sensorario/develog
- Owner: sensorario
- License: mit
- Created: 2017-03-15T12:50:22.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-10-03T09:34:19.000Z (over 3 years ago)
- Last Synced: 2025-03-23T22:06:46.661Z (about 1 year ago)
- Topics: log, php7
- Language: PHP
- Homepage: https://packagist.org/packages/sensorario/develog
- Size: 737 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-1.2.md
- Contributing: CONTRIBUTING
- License: LICENSE
Awesome Lists containing this project
README
# Develog
These are a family of Logger I use in development. Sometimes to log in a particular file. Sometimes to format json responses. Is an indipendent library and do not need vendor except for Psr\Log\LoggerInterface.
## Usages
- [log into file](#log-into-file)
- [handle http request](#handle-http-request)
- [handle Symfony request](#handle-symfony-request)
- [create symfony service](#create-symfony-service)
- [configure log size](#configure-log-size)
## Tree
Here the tree starting from version 1.3.0
```
src/
└── Sensorario
└── Develog
├── Logger
│ ├── AbstractLogger.php
│ ├── HttpLogger.php
│ ├── LoggerInterface.php
│ ├── NoDateLogger.php
│ ├── NormaLogger.php
│ ├── RawLogger.php
│ └── SymfonyLogger.php
├── Logger.php
├── PsrLogger.php
├── Request
│ ├── HttpRequestObject.php
│ └── RequestInterface.php
├── Request.php
├── Response.php
└── SymfonyLoggerInterface.php
```
### Just log without date and level
```
use Sensorario\Develog\Logger\RawLogger;
$logger = new RawLogger();
$logger->setLogFile('/path/to/file');
$logger->write('log this content …');
```
### Configure log size
```
use Sensorario\Develog\Logger\RawLogger;
$logger = new RawLogger();
$logger->setLogFile('/path/to/file');
$logger->setSizeLimitInBytes(2000000);
```
### Log without date
```
use Sensorario\Develog\Logger\NoDateLogger;
$logger = new NoDateLogger();
$logger->setLogFile('/path/to/file');
$logger->write('log this content …');
```
### Log into file
```
use Sensorario\Develog\Logger\NormaLogger;
$logger = new NormaLogger();
$logger->setLogFile('/path/to/file');
$logger->write('log this content …');
$logger->logClass($object);
$obj = new \Bar\Foo();
$logger->logClassWithMessage($obj, 'log this'); // log this \Bar\Foo()
```
### Handle Http Request
```
use Sensorario\Develog\Logger\HttpLogger;
use Sensorario\Develog\Request\HttpRequestObject;
$logger = new HttpLogger();
$logger->setLogFile($this->getParameter('kernel.root_dir').'/../var/logs/foo.log');
$logger->logRequest(HttpRequestObject::handleRequest());
```
### Handle Symfony Request
```
use Sensorario\Develog\Logger\SymfonyLogger;
use Sensorario\Develog\Request\HttpRequestObject;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
public function indexAction(Request $request)
{
$logger = new SymfonyLogger();
$logger->setLogFile($this->getParameter('kernel.root_dir').'/../var/logs/foo.log');
$logger->logSymfonyRequest($request);
$response = new Response('foo');
$logger->logSymfonyRequest($response);
}
```
### Create Symfony service
This is not mandatory, but if you want you can also configure these services inside your services.yml file when using a Symfony application. Because of I always use develo just for development purpose I have never added it as service: I still prefer copy and paste the needed code from this file. Maybe in the future I'll create a Bundle that provide some services by itself.
```
services:
logger.normal:
class: Sensorario\Develog\Logger\NormaLogger
logger.symfony
class: Sensorario\Develog\Logger\SymfonyLogger
logger.http
class: Sensorario\Develog\Logger\HttpLogger
```