MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да конфигурирате Monolog да съхранява регистрационни файлове в MongoDB със Symfony2 и Doctrine

Пълна конфигурация

mongodb_server:"mongodb://localhost:27017"mongodb_username:"vagrant"mongodb_password:"парола"mongodb_database:"testdb" 
# Doctrine2 MongoDB Bundle# http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.htmldoctrine_mongodb:default_database:%mongodb_database% връзки:default:сървър:%mongodb_server% опции:парола:% mongodb_password% потребителско име:%mongodb_username% db:%mongodb_database% свързване:истински журнал:сървър:%mongodb_server% опции:парола:%mongodb_password% потребителско име:%mongodb_username% db:%mongodb_database% свързване:истински document_managers:по подразбиране:auto_mapping:истински журнал :auto_mapping:невярно регистриране:невярно 
mongolog:клас:Doctrine\MongoDB\Connection factory_service:doctrine_mongodb.odm.log_connection factory_method:getMongoClient 
monolog:handlers:main:type:stream path:"%kernel.logs_dir%/%kernel.environment%.log" level:конзола за отстраняване на грешки:type:console bubble:false verbosity_levels:VERBOSITY_VERBOSE:INFO VERBOSITY_VERY_VERBOSE:DEBUG канали:["!doctrine"] console_very_verbose:type:console bubble:false verbosity_levels:VERBOSITY_VERBOSE:NOTICE VERBOSITY_VERY_VERBOSE:NOTICE VERBOSITY_DEBUG:DEBUG канали:["doctrine"] mongo:type:mongo level:note # промяна по желание mongo:id :база данни mongolog:колекция %mongodb_database%:регистрационни файлове 
monolog:handlers:main:type:fingers_crossed action_level:error handler:mongo nested:type:stream path:"%kernel.logs_dir%/%kernel.environment%.log" ниво:конзола за отстраняване на грешки:type:конзола mongo:тип:mongo ниво:забележка mongo:id:mongolog база данни:%mongodb_database% колекция:регистрационни файлове 

Сега нека задействаме PHP известие и да проверим дали то ще се съхранява правилно в MongoDB :-)

Добавяне на заглавки на HTTP заявка към Monolog запис

kernel.listener.exception_listener:клас:AppBundle\EventListener\ExceptionListener аргументи:- @logger тагове:- { име:kernel.event_listener, събитие:kernel.exception, метод:onKernelException } 
/ ** * Class ExceptionListener * @package AppBundle\EventListener * @author Francesco Casula <example@sqldat. com > */class ExceptionListener разширява ExceptionHandler{ /** * @var Logger */ private $logger; /** * @param Logger $logger */ публична функция __construct(Logger $logger) { $this->logger =$logger; } /** * @return Logger */ публична функция getLogger() { return $this->logger; } /** * @param GetResponseForExceptionEvent $event */ публична функция onKernelException(GetResponseForExceptionEvent $event) { foreach ($this->getLogger()->getHandlers() като $handler) { if ($handler instanceof MongoDBHandler) { $handler ->pushProcessor(функция (масив $record) use ($event) { $record['extra']['headers'] =$event->getRequest()->headers->all(); return $record; } ); прекъсване; } } }}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Получаване на грешка, грешка:не може да се свърже със сървър 127.0.0.1 shell/mongo.js &при опит за стартиране на mongodb на mac osx lion

  2. Mongoose изберете полета за поддокумент

  3. Проблеми във връзката между Node.js и MongoDB контейнер, използващ среда var. в Docker Compose

  4. Поправяне на грешки в страницата в MongoDB

  5. Карта/намаляване и сортиране на вложен документ