Latest sites

  • 2017-11-26: New Drupal 8 site at Rue du Commerce, architected and tech-led by OSInet, just went throught Black Friday week with flying colors thanks to RabbitMQ
  • 2017-05-26: New headless Drupal 8 / Symfony 3 site at FranceTV Sport, architected and tech-led by OSInet, with RabbitMQ
  • 2017-02-20: New Drupal 8 site galaxy (+/- 70 sites) for Agences Régionales de Santé architected and tech-led by OSInet, delivered by Klee
  • 2015-08-21: 50% less server load with MongoDB on the Drupal 7 site factory at France Télévisions
  • 2015-07-15: Our first Drupal 8 production site at France Télévisions is live
  • 2014-08-18: 400% speedup in 3 weeks for : who said Drupal back-offices had to be slow ?
  • 2014-02-07: Sotchi Olympics traffic not a problem for , which I rearchitected on Drupal 7 in 2013
  • 2011-09-14: Completed migration of FranceInfo.FR from SPIP to Drupal
  • 2011-07-13: The new social network features of Le Figaro are now powered by an OSInet-designed MongoDB implementation

Quick news

  • 2014-03-27: MongoDB Watchdog module ported to Drupal 8 at the Szeged Dev Days.
  • 2014-01-26: My post on the Symfony web profiler in Silex selected in Week of Symfony. w00t !
  • 2013-10-18: My first commit went into MongoDB today. And, guess what ? It's in JavaScript
  • 2013-09-20 to 29: Working on Drupal 8 EntityAPI at the extended code sprints during and around DrupalCon Prague
  • 2012-08-19: Working on Drupal 8 EntityAPI at Drupalcon Munich
  • 2012-06-15: Working on Drupal 8 EntityAPI at DrupalDevDays Barcelona
  • 2012-03-23: Working on the future Drupal Document Oriented Storage at DrupalCon Denver. D8 or later ? Bets are on Later

Rethinking watchdog(): Monolog architecture

I've been discussing Monolog in Drupal events (DrupalCamp Lyon, DevDays Barcelona) as a possible alternative to the legacy Drupal watchdog() service for quite some time, but never took the time to explain it in writing, and the feature freeze date is looming ahead, so since I'm taking part in th Gent code sprint, and code has been starting to take shape here, here, and there, here is an overview of the Monolog classes.

The diagram below is a simplified version of the Monolog architecture. It includes all classes and interfaces, but only the most significant methods, no constants, and none of the non-bundled classes and interfaces upon which some of the builtins depend.

simplified class diagram for Monolog 1.1 (SVG rendering)

And, on its own page because of its size, here is the complete equivalent Monolog data model diagram.

What's next ? Hopefully reviewing and completing the patches completing the integration, and a post explaining how all of this works together, paving the way for smart usage of that package in core and elsewhere.

complete class diagram for Monolog 1.1 (SVG rendering)67.41 KB
complete class diagram for Monolog 1.1 (GraphViz source)7.27 KB
summarized class diagram for Monolog 1.1 (GraphViz source)5.38 KB
summarized class diagram for Monolog 1.1 (SVG rendering)41.9 KB

Apache log4php

This is very similar to the Apache log4php project. I already have some baseline implementation in Drupal that may be of interest to you.

If you have anything

If you have anything different from , yes please provide information: in the meantime, I added the results of my own comparisons between the two packages.

To summarize, while both are obviously really powerful, log4php feels old, and with more of a "corporate IT" feel with Java strings all over, while Monolog feels lean, mean, and in the "PHP renaissance" spirit around 5.3/5.4 and heralded by Symfony2, Composer, and hopefully Drupal 8. Just a personal PoV, of course.

I completely agree. I chose

I completely agree. I chose to use log4php as it's a common standard that likely resonates with developers of other languages, rather than using something very particular to Drupal or PHP.

Thank you for posting that

Thank you for posting that Monolog architecture. You really are a lifesaver.