PHPackages                             telemidia/graylog - 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. telemidia/graylog

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

telemidia/graylog
=================

Este pacote fornece uma interface simples e eficiente para enviar mensagens de log para o Graylog, seguindo o padrão utilizado pela Telemidia.

v1.0.13(1y ago)01MITPHP

Since Jan 2Pushed 1y ago1 watchersCompare

[ Source](https://github.com/telemidia-isp/graylog-telemidia-php)[ Packagist](https://packagist.org/packages/telemidia/graylog)[ RSS](/packages/telemidia-graylog/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

graylog-telemidia-php
=====================

[](#graylog-telemidia-php)

Uma abstração da biblioteca [**gelf-php**](https://github.com/bzikarsky/gelf-php).

Índice
======

[](#índice)

- [Sobre](#sobre)
- [Instalação](#instala%C3%A7%C3%A3o)
- [Inicialização](#inicializa%C3%A7%C3%A3o)
- [Utilização](#utiliza%C3%A7%C3%A3o)
- [Métodos suportados](#m%C3%A9todos-suportados)
- [Campos do Graylog](#campos-do-graylog)
- [Configuração de alertas do Graylog](#configura%C3%A7%C3%A3o-de-alertas-do-graylog)
- [Licença](#licen%C3%A7a)

Sobre
-----

[](#sobre)

Este pacote fornece uma interface simples e eficiente para enviar mensagens de log para o Graylog, seguindo o padrão utilizado pela Telemidia.

Instalação
----------

[](#instalação)

Para instalar a biblioteca, utilize o composer:

```
composer require telemidia/graylog
```

Inicialização
-------------

[](#inicialização)

Para inicializar a biblioteca, você deve configurar as informações do Graylog. Existem duas abordagens para realizar essa configuração:

### 1. Configuração via array

[](#1-configuração-via-array)

Você pode configurar a biblioteca utilizando um array associativo. Veja um exemplo abaixo:

```
require_once __DIR__ . '/path/to/vendor/autoload.php';

date_default_timezone_set('America/Sao_Paulo'); // Definir timezone para gerar logs com o horário local

use Telemidia\Graylog;

$GRAYLOG_CONFIG = [
    "server" => "graylog.myserver.com", // Endereço do servidor Graylog (obrigatório)
    "inputPort" => 12201, // Porta do input que receberá a mensagem (obrigatório)
    "appName" => "my-app", // Nome exibido no campo "facility" do Graylog (obrigatório)
    "appVersion" => "1.0.0", // Versão da aplicação (obrigatório)
    "environment" => "PROD", // Ambiente da aplicação: "PROD", "DEV" ou "STAGING" (obrigatório)
    "showConsole" => false // Define se o log será exibido no console da aplicação (opcional, padrão: true)
];

$graylog = new Graylog($GRAYLOG_CONFIG);
```

### 2. Configuração via variáveis de ambiente

[](#2-configuração-via-variáveis-de-ambiente)

Como alternativa, você pode definir a configuração através de variáveis de ambiente. As respectivas variáveis são:

- GRAYLOG\_SERVER
- GRAYLOG\_INPUT\_PORT
- GRAYLOG\_APP\_NAME
- GRAYLOG\_APP\_VERSION
- GRAYLOG\_ENVIRONMENT
- GRAYLOG\_SHOW\_CONSOLE

Neste caso, o objeto pode ser inicializado sem a necessidade de passar um parâmetro de configuração:

```
$graylog = new Graylog();
```

As duas abordagens de configuração podem ser combinadas, de forma que os valores do parâmetro de configuração enviado terão preferência sobre os valores definidos através de variáveis de ambiente.

Utilização
----------

[](#utilização)

A biblioteca permite o envio de mensagens de log de forma simples e eficiente. Veja alguns exemplos de uso:

### Enviar uma mensagem simples

[](#enviar-uma-mensagem-simples)

```
$graylog->error('Ocorreu um erro horrível!');
```

### Informações adicionais

[](#informações-adicionais)

Para enriquecer as mensagens de log, você pode adicionar informações adicionais. Isso é útil para fornecer contexto sobre o erro:

```
$userInfo = [
    "isUserAuthenticated" => true,
    "isUserAdmin" => false
];
$graylog->error('Ocorreu um erro horrível!', $userInfo);
```

### Backtrace

[](#backtrace)

É possível registrar o backtrace de erros ou exceções. Para isso, basta passar o objeto de erro:

```
try {
    throw new Error('Ocorreu um erro horrível!');
} catch (Error $e) {
    $graylog->error($e);
}
```

Você também pode personalizar a mensagem do erro, mantendo a mensagem original visível no Graylog:

```
try {
    throw new Error('Ocorreu um erro horrível!');
} catch (Error $e) {
    $graylog->error('Ocorreu um erro em foo bar', $e);
}
```

### Combinação de informações

[](#combinação-de-informações)

Também é possível enviar múltiplos parâmetros, permitindo um contexto mais detalhado:

```
try {
    throw new Error('Ocorreu um erro horrível!');
} catch (Error $e) {
    $userInfo = [
        "isUserAuthenticated" => true,
        "isUserAdmin" => false
    ];
    $graylog->error('Ocorreu um erro em foo bar', $e, $userInfo);
}
```

### Retorno

[](#retorno)

Os métodos retornam o payload com todas as informações que foram enviadas ao servidor Graylog.

Métodos suportados
------------------

[](#métodos-suportados)

A biblioteca suporta diversos métodos para registrar logs, cada um correspondente a um nível de severidade no Graylog. Os métodos disponíveis são:

MétodoNível Graylogemergency0alert1critical2error3warning4notice5info6debug7Campos do Graylog
-----------------

[](#campos-do-graylog)

Os campos enviados ao Graylog são os seguintes:

CampoDescriçãoapp\_languagelinguagem de programação utilizada pela aplicação (PHP)app\_versionversão da aplicação - configurada durante a inicializaçãoenvironmentambiente de execução da aplicação - configurado durante a inicializaçãoerror\_messagemensagem(ns) de erro coletada(s) através dos parâmetros extras (errors/exceptions)error\_stackbacktrace(s) do(s) erro(s) coletado(s)extra\_infoJSON contendo informações adicionais, enviadas como parâmetros extrasfacilitynome da aplicação - configurado durante a inicializaçãolevelnível de severidade do logmessagemensagem principal do logsourcehostname do servidor que gerou o logtimestampcarimbo de data e hora do logConfiguração de alertas do Graylog
----------------------------------

[](#configuração-de-alertas-do-graylog)

Para otimizar os alertas dos logs recebidos por meio desta biblioteca, recomendamos a implementação de algumas configurações específicas em relação aos alertas do Graylog. [Clique aqui para visualizar as recomendações de configuração](https://github.com/telemidia-isp/graylog-telemidia-php/blob/main/docs/GraylogAlerts.md).

Licença
-------

[](#licença)

Este projeto está licenciado sob a Licença MIT.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance40

Moderate activity, may be stable

Popularity1

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

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

Unknown

Total

1

Last Release

501d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7705e4670c4f3bf8c5f53640bc12573ee5bb1d5b870ca956eea04534eebdba36?d=identicon)[telemidia](/maintainers/telemidia)

### Embed Badge

![Health badge](/badges/telemidia-graylog/health.svg)

```
[![Health](https://phpackages.com/badges/telemidia-graylog/health.svg)](https://phpackages.com/packages/telemidia-graylog)
```

###  Alternatives

[hedii/laravel-gelf-logger

A Laravel package to send logs to a gelf compatible backend like graylog

1333.4M10](/packages/hedii-laravel-gelf-logger)

PHPackages © 2026

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