Professional module for PrestaShop store administrators
This module is designed for professional store administrators who want to have a complete overview of the history of changes to all settings and fields in the PrestaShop store admin panel.
The module complements the standard PrestaShop log with ultra-precise information about all actions performed, including information about the values before and after saving all the values that can be changed in the store's admin panel.
The module handles huge amounts of data and efficiently saves them in a 4-level fallback system: Redis → Memory → RAM → File
Features
- 4-level fallback system: Redis → Memory → RAM → File
- Logging of administrative actions: adding, editing, deleting objects
- API action logging: identify API keys
- Admin interface: view and filter logs
- Automatic migration: cron scripts to process logs
- Efficiency: minimal impact on store performance
Automatic logging
- Objects: Product, Category, Order, Customer, etc.
- Modules: installation/uninstallation
- Configuration: changes to store settings
- API: calls with key identification



Logging architecture
If any system is disabled or unavailable, the module will automatically jump to the next level.
- Redis (highest performance, recommended)
RPUSH
of logs to theactivity_log
queue- Asynchronous processing by cron
- MySQL Memory Table (high performance)
Ps_activity_log_buffer
table (ENGINE=MEMORY)- Fast RAM operations
- In-memory Buffer (medium performance)
- PHP table in memory throughout the request
- Flush at the end of execution
(shutdown
)
- NDJSON (fallback) file
- Writing to
var/logs/activity_fallback.ndjson
- Migration by cron to database
- Writing to
Log structure
{ "action": "create|update|delete|config|install|uninstall", "object_type": "Product", "object_id": 123, "employee_id": 1, "api_key": "Bearer xyz...", "context": "{ "controller": "AdminProducts", "object_name": "Test Product", "product_reference": "REF123", "product_active": "1", "changed_fields": "update_detected", "update_timestamp": "2024-01-01 12:00:00", "ip_address": "192.168.1.1", "user_agent": "Mozilla/5.0..." }", "created_at": "2024-01-01 12:00:00" }
Extended context for different objects
- Product:
product_reference
,product_active
- Category:
category_active
,parent_category
- Order:
order_state
,order_total
- Customer:
customer_email
,customer_active
- Module:
module_name
,module_version
,module_author
,module_display_name
Tracking Changes Before/After
The module automatically tracks changes at the field level using Before/After hooks:
- Hooks Before:
hookActionObjectUpdateBefore
,hookActionObjectDeleteBefore
- Hooks After:
hookActionObjectUpdateAfter
,hookActionObjectDeleteAfter
- ObjectModel definitions: uses
$definition['fields']
for precise tracking - Change detection: Compares values before and after modification
Example of field changes context:
{ "field_changes": { "name": { "from": "old product name", "to": "New Product Name" }, "price": { "from": 19.99, "to": 29.99 }, "active": { "from": 0, "to": 1 } } }
Viewing logs
In the administration panel, go to Advanced Parameters → Activity Logs:
- Filter by action, object type, employee
- Search by date, object ID
- Details of the context of each log
- Storage status - information about available systems
Unit tests
The module is equipped with automatic unit tests, thanks to which its correct operation in your store is highly probable.
Running the tests
cd modules/pshowlogger vendor/bin/phpunit
Test coverage
- ActivityLogger (singleton, logging, flush)
- StorageManager (fallbacks, batch operations)
- FileStorage (NDJSON, retrieve, clear)
- LogMigrator (migration, cleanup)
Monitoring
- Status of storage systems in the administration panel
- Error logs in PHP
error_log
- Performance metrics in cron scripts
Security
- Employee ID: automatic retrieval from PrestaShop context
- API Key: detection from Authorization headers
- Escape SQL: all data is safelyescaped
- File permissions: appropriate permissions for log files
- Class exclusions: ability to exclude sensitive classes (e.g. EmployeeSession)
Technical Requirements
- PHP 7.1 - 8.x
- Server extension ionCube Loader
- PrestaShop Importer only: PHP libxml version > 2.9.3
- PrestaShop Facebook Integrator only: PHP 7.2 or higher
- PrestaShop VAT Validator only: PHP SOAP
Support = Updates + HelpDesk
You get 90 days (3 months) access to the complete PrestaShow support package.
Module updates
Modules will inform you about available updates. Read the changelog and perform a 1-click module update directly from your store.
HelpDesk panel
This is the panel where we will provide you with help. On HelpDesk you can report problems, order free module installation and updates, and order modifications and custom programming work.
Extend support
After support expires, you can use the module without any restrictions. You can extend your support access at any time you need it.
Knowledge Base & FAQ
Free forever
The knowledge base is available to everyone. You will find module documentation as well as instructions, videos and answers to frequently asked questions.
Lifetime license for the module
- You can use the module without limitation in 1 store = 1 domain.
- You can use an additional domain, e.g. for developer copy.
- For a small fee you can change the domain for the module yourself.
Additional domains for Multistore
- All our modules support PrestaShop Multistore.
- Supporting unlimited domains for PrestaShop Multistore requires purchasing multistore support for the module.
Modifying the code
- The module code related to the integration with the store and the design (.tpl, .css, .js) has open source code and you can modify it freely.
- The module's source code (.php) is encrypted with ionCube, and modifying it will void the warranty.
Demo - test the module
- You can test the module in our demo store.
- You can find the link to the demo store in the top section of ⬆️.
- If you have any problems with the operation of the demo, please contact us
No entries yet.
No customer reviews for the moment.