Custom laravel monolog logger for datadog logs management, both api and agent ways





Build Status 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f35636537336566326465356664656265656533392f6d61696e7461696e6162696c697479 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f35636537336566326465356664656265656533392f746573745f636f766572616765 GitHub release Total Downloads License

Getting started

Simply launch this command in your root laravel project :

composer require myli/laravel-datadog-logger

I would highly suggest you to use the DataDog Agent Style rather than the Api Style because one laravel log = one api call which is bad for performances.

1) How to use in DataDog Agent Style (Example for an ubuntu installation)

  1. Firstly, install the agent by following this guide here

  2. Please fill in your .env the following values:

    DATADOG_PERMISSIONS=0644 // Default to 0644 if no value provided
    DATADOG_LEVEL="info" // Default to info if no value provided
    DATADOG_BUBBLE=true // Default to true if no value provided
  3. Add LOG_CHANNEL="datadog-agent" in your .env file OR include datadog-agent channel into your stack log channel.

  4. Enable logs by setting logs_enabled: true in the default /etc/datadog-agent/datadog.yaml file on the server where the project is hosted.

  5. Choose only one config between those 3 files to put in /etc/datadog-agent/conf.d/laravel.d/ (create the laravel.d folder if it doesn't exist) :

    1. Logging only php-cli
    2. Logging only php-fpm
    3. Logging php-fpm and php-cli
  6. Restart your DataDog Agent and watch your result here.

Notes: At this time the source metadata from the DataDogFormatter is not taken care by DataDog so that's why we are specifying it in the /etc/datadog-agent/conf.d/laravel.d/conf.yaml file.

2) How to use in API Style

  1. Please fill in your .env the following values (How to obtain ApiKey ?) :

DATADOG_API_KEY="YOUR_API_KEY" DATADOG_REGION="eu|us" // Default to eu if no value provided DATADOG_LEVEL="info" // Default to info if no value provided DATADOG_BUBBLE=true // Default to true if no value provided

  1. And finally add LOG_CHANNEL="datadog-api" in your .env file OR include datadog-api channel into your stack log channel.

If you ❤️ open-source software, give the repos you use a ⭐️.

We have included the awesome symfony/thanks composer package as a dev dependency. Let your OS package maintainers know you appreciate them by starring the packages you use. Simply run composer thanks after installing this package. (And not to worry, since it's a dev-dependency it won't be installed in your live environment.)


The Laravel DataDog Logger is open-sourced software licensed under the MIT license.

Repository proudly created by