domtomproject / logger-bundle
Symfony bundle for logging actions
Installs: 28
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^7.1
- symfony/symfony: 3.2.*
Requires (Dev)
- phpunit/phpunit: ^6.2
- symfony/phpunit-bridge: ^3.0
Suggests
- doctrine/mongodb-odm: NoSQL is better for logging
- doctrine/mongodb-odm-bundle: This bundle already have Writer for mongoDB doctrin bundle
This package is not auto-updated.
Last update: 2025-03-25 20:13:44 UTC
README
Bundle for fast loggin and static storage
1. Installation
composer require domtomproject/logger-bundle
AND in AppKernel.php
$bundles = [
...
new DomTomProject\LoggerBundle\DomtomLoggerBundle(),
...
];
2. Configuration
In this example we use MysqlWriter. In config.yml
...
doctrine:
dbal:
default_connection: default
connections:
...
log:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: 'database'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
...
orm:
...
entity_managers:
log:
connection: log
mappings:
AppBundle: ~
...
domtom_logger:
writer: "domtom_logger.writer_mysql"
mysql:
manager: log
So now manager for logs is 'log'. Thats provide you to use other database for log data.
3. Using Example
a) Create new Log Entity.
use Doctrine\ORM\Mapping as ORM;
use DomTomProject\LoggerBundle\Model\Log;
/**
* @ORM\Entity
*/
class CustomLog extends Log {
/**
* @Column(type="text", nullable=true)
*/
protected $text;
public function __construct() {
parent::__construct();
}
// method for short creating in one line
public static function create(?string $text = null){
$log = new self();
$log->setText($text);
return $log;
}
// setters and getters ...
}
b) Now in controller action
public function testLogAction(){
$logStack = $this->get('domtom_logger.log_stack');
$logStack->add(CustomLog::create('Log that'));
....
// if something failed you can check all logs in stack as failed. Its done automatically if kernel.exception event is called.
if($somethingBroken){
$logStack->failed();
}
}