PHPackages                             ruspanzer/loggable-bundle - 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. [Database &amp; ORM](/categories/database)
4. /
5. ruspanzer/loggable-bundle

ActiveSymfony-bundle[Database &amp; ORM](/categories/database)

ruspanzer/loggable-bundle
=========================

Doctrine simple loggable entities

1.3.0(6y ago)0161MITPHPPHP &gt;=7.1

Since Oct 6Pushed 6y ago1 watchersCompare

[ Source](https://github.com/RuSPanzer/loggable-bundle)[ Packagist](https://packagist.org/packages/ruspanzer/loggable-bundle)[ RSS](/packages/ruspanzer-loggable-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (6)Versions (9)Used By (0)

#### Simple entity loggable bundle

[](#simple-entity-loggable-bundle)

##### How to use:

[](#how-to-use)

1. Install bundle `composer require ruspanzer/loggable-bundle`
2. Implement `Ruspanzer\LoggableBundle\Entity\Interfaces\LoggableInterface` for you entity
3. If you need set relations between two loggable entities, use `getRelatedLogEntities` in related entity. This method must be return array of `LoggableInterface` entities. It will allow search related logs when searching main entity
4. Find logs with repository method getByObject(). Or you can write your search implementation with pagination and other cool features :-)

##### Example:

[](#example)

```
class Place implements LoggableInterface
{
    /**
    * @ORM\Id()
    */
    private $id;

    /**
    * @ORM\OneToOne(targetEntity="Address")
    */
    private $address;

    public function getId()
    {
        return $this->id;
    }

    public function getRelatedLogEntities()
    {
        return [];
    }
}

class Address implements LoggableInterface
{
    /**
    * @ORM\Id()
    */
    private $id;

    /**
    * @ORM\OneToOne(targetEntity="Place")
    * @ORM\JoinColumn(name="place_id")
    */
    private $place;

    public function getId()
    {
        return $this->id;
    }

    public function getPlace()
    {
        return $this->place;
    }

    public function getRelatedLogEntities()
    {
        return [
            $this->getPlace();
        ];
    }
}

```

If you will be search logs by Place, Address logs to be returned

This bundle also working with [StofDoctrineExtensions Softdeleteable](https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/softdeleteable.md)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.5% 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 ~3 days

Total

8

Last Release

2394d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/922f43e418d7da22fecdc96daaa92a75973b41b2ab18acdaea4e930d51e6f31c?d=identicon)[ruspanzer](/maintainers/ruspanzer)

---

Top Contributors

[![RuSPanzer](https://avatars.githubusercontent.com/u/4748339?v=4)](https://github.com/RuSPanzer "RuSPanzer (13 commits)")[![versh23](https://avatars.githubusercontent.com/u/1758392?v=4)](https://github.com/versh23 "versh23 (4 commits)")

---

Tags

doctrine2symfony-bundlelogsymfonybundledoctrine

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ruspanzer-loggable-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/ruspanzer-loggable-bundle/health.svg)](https://phpackages.com/packages/ruspanzer-loggable-bundle)
```

###  Alternatives

[damienharper/auditor-bundle

Integrate auditor library in your Symfony projects.

4542.8M](/packages/damienharper-auditor-bundle)[sonata-project/doctrine-orm-admin-bundle

Integrate Doctrine ORM into the SonataAdminBundle

46117.7M155](/packages/sonata-project-doctrine-orm-admin-bundle)[data-dog/audit-bundle

Audit bundle for symfony2 and doctrine orm, logs any database change

141901.7k1](/packages/data-dog-audit-bundle)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1022.4k](/packages/rcsofttech-audit-trail-bundle)[prezent/doctrine-translatable-bundle

Integrate the doctrine-translatable extension in Symfony

14698.4k5](/packages/prezent-doctrine-translatable-bundle)[huluti/doctrine-relations-analyser

A Symfony bundle that provides tools for analyzing Doctrine relationships

145.3k](/packages/huluti-doctrine-relations-analyser)

PHPackages © 2026

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