JSPM

strapi-plugin-juf-logger

0.0.9
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 10
    • Score
      100M100P100Q68760F
    • License MIT

    Substitute to default strapi logger with @sonatel/juf-xpress-logger

    Package Exports

    • strapi-plugin-juf-logger/package.json
    • strapi-plugin-juf-logger/strapi-admin
    • strapi-plugin-juf-logger/strapi-server

    Readme

    📚 strapi-plugin-juf-logger

    “They did what in production?” Now you’ll know. In real time.

    Substitute to default strapi logger with @sonatel/juf-xpress-logger

    🍷 Elegant. 🔐 Ruthless. ⚙️ Fully Configurable.
    Because it’s not just about logging requests—it’s about narrating the admin saga.

    Strapi Real-time Security Setup Status

    🧠 What is it?

    strapi-plugin-juf-logger is your audit trail with a backbone.
    It tracks everything that happens inside your Strapi Admin, in real-time, with fully configurable rules and zero redeploys.

    No more wondering “Who changed that role?”, or “Why is the reset token in my logs?”
    You get full visibility, masked data, and total runtime control—without touching a config file.

    ⚙️ Key Features

    ✅ Admin UI to rule them all

    • Add/delete sensitive fields to mask (token, password, cookie, etc.)
    • Map HTTP verbs to semantic actions (POST → Création, DELETE → Suppression, etc.)
    • Define action name rules for custom paths (supports dynamic patterns like /admin/roles/:id)

    💥 All live. All without a redeploy.

    🧼 Real-Time Redaction

    Sensitive keys are automatically obfuscated:

    "authorization": "***************"
    "res": "***************"
    "cookie": "***************"

    Because your logs should inform, not incriminate.

    🧠 Smart Action Resolution

    Logs like:

    "event.action": "Création API Token"
    "user.name": "mohamed.johnson@orange-sonatel.com"
    "url.path": "/admin/api-tokens"
    "event.type": "AUDIT"

    All thanks to the dynamic rules engine—built to match patterns, not just strings.

    💡 Sample Log Output (Elasticsearch / Kibana-friendly)

    {
      "@timestamp": "2025-04-15T13:14:53.483Z",
      "event.action": "Consultation Other activities",
      "event.type": "AUDIT",
      "user.name": "mohamed.johnson@orange-sonatel.com",
      "http.request.method": "GET",
      "http.response.status": "OK",
      "url.path": "/admin/roles/:id",
      "http.request.body.content": { "res": "***************" }
    }

    🧪 Use Cases

    • Security Audits
    • Role Changes Tracking
    • Data Access Monitoring
    • Compliance Logging
    • Intern Shenanigans Prevention

    🛠️ Installation

    npm install strapi-plugin-juf-logger

    Strapi will auto-load it at startup. No setup needed.

    🚀 Future Plans (a.k.a. “Why is this not core yet?”)

    • 💾 Support for external log sinks (Elastic, Loki, CloudWatch)
    • 🔄 Replay Mode: reconstruct action sequences
    • 🧪 Granular role-based log filtering

    🤝 Contributing

    Want to help make logs beautiful, actionable, and slightly terrifying?
    Open an issue. Or a pull request. Or a bottle of lemonade and start coding.

    💌 Built with love (and a little paranoia) by

    lpix-11


    Let’s be honest.
    Strapi didn’t ask for this.
    But it needed it.

    And now?
    Now it logs like a boss. 🪵🔥