=== MSBD Logs ===
Contributors: shahalom, microsolutions
Tags: logs, logging, debug, debugging, error log
Requires at least: 5.5
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html


Simple logging helper for plugin and theme developers with an admin UI to view and manage log files.

== Description ==

### MSBD Logs is a WordPress plugin that allows developers to review and manage log files generated by plugins and themes.

**MSBD Logs** is a lightweight logging helper for WordPress plugin and theme developers.

It provides a simple PHP API to write log messages and an admin interface to view, filter, and manage log files stored in the WordPress uploads directory.

The plugin is designed to be minimal, dependency-free, and safe for use on production sites.


== 🎉 Key Features ==
* Simple logging function for developers
* Daily rotating log files
* Separate log types: `debug` and `attention`
* Debug logging can be enabled or disabled from admin
* Admin UI to view, and filter log files
* Secure file handling (capability and nonce protected)
* No database tables or external services
* Translation-ready

### Log Storage Location

All log files are stored in: `wp-content/uploads/logs/`. `logs` folder is created in `wp-content/uploads/` on activating the plugin. An `index.html` file is automatically created to prevent directory browsing.


### Developer Usage

Use the following helper function anywhere in your plugin or theme code:
* `msbd_logs_create( 'Log something only when the debug mode is active' );`
* `msbd_logs_create( 'Unexpected issue detected, always log', 'attention' );`
* `debug` logs are written only when debug mode is enabled
* `attention` logs are always written


### Admin Interface

After activation, a new menu item **"MSBD Logs"** appears in the WordPress admin dashboard.

From this screen, administrators can:

* View available log files
* Filter log files by filename
* Inspect log file contents
* Enable or disable debug logging

Only users with the `manage_options` capability can access the interface.


### Standalone & Compatible

MSBD Logs works fully as a standalone plugin.

If other MSBD-related plugins are installed in the future, menu grouping can be handled automatically without affecting functionality.


== Installation ==

1. Upload the `msbd-logs` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the **Plugins** menu in WordPress
3. Navigate to **Admin → MSBD Logs** to manage log files


== Frequently Asked Questions ==

= Does this plugin replace WP_DEBUG or PHP error logging? =

No. MSBD Logs is a helper for custom logging inside plugins or themes. It does not replace WordPress core debugging or PHP error logs.


= Where are log files stored? =

`logs` folder is created in `wp-content/uploads/` on activating the plugin. All log files are stored in: `wp-content/uploads/logs/`.


= What is the difference between `debug` and `attention` logs? =

* **debug**: Logged only when debug mode is enabled in the admin
* **attention**: Always logged, regardless of debug setting


= Is this plugin safe for production sites? =

Yes. Debug logging can be disabled at any time, and logs are written only when explicitly requested by developers.


= Is this plugin compatible with all latest versions of PHP, HHVM, et cetera, et cetera? =

Short answer: probably. Long answer: I honestly don't know for sure. I made a simple plugin. That's why I recommend a minimum of PHP 8.0. Also I do specific tests to ensure that I stay compatible with PHP 8.2


= This plugin breaks my site! How do I fix it? =

Deactivate the plugin and report this on the [GitHub project page](https://github.com/Micro-Solutions-Bangladesh/MSBD-Logs/issues), so that I/we could take a look into the matter.


= My question isn't answered here =

Somehow we overlooked your question, We apologize for this. Please visit contact us page of <a href="https://microsolutionsbd.com/contact-us/?about=MSBD%20Logs%20Plugin">Micro Solution Bangladesh</a> for your query.


== Screenshots ==
1. Settings: The screen showing list of debug files and content from one.


== Changelog ==

= 1.0.2 =
* Add more nonce check to enhance security. 

= 1.0.1 =
* Refactor nonce handling to enhance security.

= 1.0.0 =
* Initial release
* Logging helper function
* Admin interface for viewing and managing logs
* Debug mode toggle
* Secure file handling
