PHPackages                             pensoft/awt-laravel-log - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. pensoft/awt-laravel-log

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

pensoft/awt-laravel-log
=======================

AWT Laravel Log is a small library that sends logs content to Elasticsearch.

v2.2.2(1y ago)0380MITPHPPHP ^8.0

Since Dec 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/pensoft/awt-laravel-log)[ Packagist](https://packagist.org/packages/pensoft/awt-laravel-log)[ RSS](/packages/pensoft-awt-laravel-log/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (3)Versions (12)Used By (0)

pensoft/awt-laravel-log
=======================

[](#pensoftawt-laravel-log)

`pensoft/awt-laravel-log` is a Composer package designed to integrate Elasticsearch logging into your Laravel application seamlessly. It provides a custom log service for exception handling, allowing you to log exception events into Elasticsearch for enhanced observability.

---

Installation
------------

[](#installation)

You can install the package using Composer:

```
composer require pensoft/awt-laravel-log

// and run

php artisan vendor:publish --provider="Pensoft\AwtLaravelLog\AwtLaravelLogServiceProvider"
```

---

Usage Instructions
------------------

[](#usage-instructions)

After installing the package, you need to register the logging service with Laravel's exception reporting pipeline. This is done by modifying the `reportable()` method within your `App\Exceptions\Handler` class.

### 1. Modify the `Handler.php` file

[](#1-modify-the-handlerphp-file)

You will integrate the logging service by adding the following code inside the `reportable()` method:

```
use Throwable;

$this->reportable(function (Throwable $e) {
    if (class_exists(\Pensoft\AwtLaravelLog\Facades\Log::class)) {
        \Pensoft\AwtLaravelLog\Facades\Log::throw($e)
    }
});
```

### 2. Log to Elasticsearch using Laravel's Log facade

[](#2-log-to-elasticsearch-using-laravels-log-facade)

You can log messages to Elasticsearch by using the `Log` facade, specifying the `elastic` channel that you've defined in the `config/logging.php` file.

```
use Illuminate\Support\Facades\Log;

Log::channel('elastic')->error('Message here!', $context = []);
```

- **channel**: Here, we specify the `elastic` channel, which was defined in the configuration file.
- **error**: The log level (in this case, an error). You can use other log levels like `info`, `warning`, `critical`, etc., depending on your needs.
- **context**: An optional array of context that can be passed to provide more details along with the log message.

### 3. Use Pensoft's Custom Log Facade

[](#3-use-pensofts-custom-log-facade)

You can also use the custom logging facade provided by the package to log messages and exceptions directly.

```
use Pensoft\AwtLaravelLog\Facades\Log;

Log::error('Message here!', $context = []);
```

- **error**: Log the message at the error level.

### 4. Log Exceptions

[](#4-log-exceptions)

To log exceptions to Elasticsearch, you can use the `throw()` method. This will automatically capture the exception and send it to Elasticsearch.

```
use Pensoft\AwtLaravelLog\Facades\Log;

Log::throw(new \Exception('Message here!', $code = 500));
```

- **throw**: This method is used to log exceptions, allowing you to specify the exception and an optional status code.

When you call `Log::throw($exception)`, the following context is automatically captured and sent to Elasticsearch:

**code**: The exception’s error code.
**line**: The line number where the exception was thrown.
**file**: The file path where the exception was thrown.
**trace**: An array of the stack trace, which provides detailed information about the error.
**traceAsString**: A string representation of the stack trace.

---

Configuration
-------------

[](#configuration)

To configure the package to use Elasticsearch, you can modify the config/logging.php file. You will add the following configuration to the file to define the necessary settings:

Example Configuration:

```
env('LOGGING_CHANNEL_ELASTIC', 'elastic') => [
    'driver' => 'monolog',
    'level' => env('LOG_LEVEL', 'debug'),
    'handler' => ElasticsearchHandler::class,
    'formatter' => ElasticsearchFormatter::class,
],
```

---

To configure the elastic you can modify config/elastic.php file. You will add the following configuration to the file to define the necessary settings: Example Configuration:

```
return [
    'host' => [env('ELASTICSEARCH_HOST', 'http://localhost:9200')],
    'ssl_verification' => env('ELASTICSEARCH_SSL_VERIFICATION', false),
    'username' => env('ELASTICSEARCH_USERNAME', ''),
    'password' => env('ELASTICSEARCH_PASSWORD', ''),
    'index' => env('ELASTICSEARCH_LOG_INDEX', 'monolog'),
    'type' => env('ELASTICSEARCH_TYPE', 'doc')
];
```

Requirements
------------

[](#requirements)

- Laravel 10.x or higher
- PHP 8.x or higher
- Elasticsearch server (if connecting directly to a server endpoint)
- Monolog 3.x

### Environment Variables to Configure

[](#environment-variables-to-configure)

To make this configuration functional, you should define the necessary environment variables in your `.env` file. Below are the environment variables that must be configured:

```
# Elasticsearch server host (URL)
ELASTICSEARCH_HOST=

# SSL Verification for Elasticsearch client
ELASTICSEARCH_SSL_VERIFICATION=

# Username for basic authentication
ELASTICSEARCH_USERNAME=

# Password for basic authentication
ELASTICSEARCH_PASSWORD=

# Log index name in Elasticsearch
ELASTICSEARCH_LOG_INDEX=monolog

# The default logging level for Elasticsearch
LOG_LEVEL=debug
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance43

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Recently: every ~1 days

Total

9

Last Release

447d ago

Major Versions

v1.0.0 → v2.0.02025-02-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/8fb92632a52a188f3c34442b532e0f8d355604ef87577a0d2c37edbdd4e14bd5?d=identicon)[pensoft](/maintainers/pensoft)

---

Top Contributors

[![howkins](https://avatars.githubusercontent.com/u/6891179?v=4)](https://github.com/howkins "howkins (9 commits)")[![sdemirov](https://avatars.githubusercontent.com/u/1354621?v=4)](https://github.com/sdemirov "sdemirov (4 commits)")

### Embed Badge

![Health badge](/badges/pensoft-awt-laravel-log/health.svg)

```
[![Health](https://phpackages.com/badges/pensoft-awt-laravel-log/health.svg)](https://phpackages.com/packages/pensoft-awt-laravel-log)
```

###  Alternatives

[symfony/monolog-bridge

Provides integration for Monolog with various Symfony components

2.6k189.7M258](/packages/symfony-monolog-bridge)[rollbar/rollbar

Monitors errors and exceptions and reports them to Rollbar

33723.7M82](/packages/rollbar-rollbar)[illuminate/log

The Illuminate Log package.

6224.3M518](/packages/illuminate-log)[honeybadger-io/honeybadger-php

Honeybadger PHP library

381.5M4](/packages/honeybadger-io-honeybadger-php)[nulpunkt/monolog-elasticsearch-logstashformat

Use the logstash formatter with elasticsearch

3570.1k](/packages/nulpunkt-monolog-elasticsearch-logstashformat)[graycore/magento2-stdlogging

A Magento 2 module that changes all logging handlers to stdout

2382.6k](/packages/graycore-magento2-stdlogging)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
