Metadata-Version: 2.1
Name: AshLogger
Version: 0.5
Summary: Hassle free ready to use out of the box Python3 logger.
Home-page: https://github.com/ashfaque/AshLogger
Download-URL: https://github.com/ashfaque/AshLogger/archive/refs/tags/v_05.tar.gz
Author: Ashfaque Alam
Author-email: ashfaquealam496@yahoo.com
License: GNU GPLv3
Keywords: ASHFAQUE,ASHFAQUE ALAM,PYTHON,LOGGER,PYTHON LOGGER
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE

[![License: GNU GPLv3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/ashfaque/AshLogger/blob/main/LICENSE)



## How to install
```sh
pip install AshLogger
```



## Documentation
```python3
from AshLogger import AshLogger


logger_obj = AshLogger(
                file_name='logger_file_name.log'    # If `file_name` is not given, it will set logger file name as `AshLogger.log`
                , file_location=os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logs')    # If log file path not given, it will create a log/ dir where the calling python file is located.
                , max_bytes=20000    # default: 1000000
                , max_backups=3    # default: 1
                , logger_name='app1_logger'
            )

logger = logger_obj.setup_logger()    # `logger_obj.setup_basic_logger()` for no formattings like timestamps etc, in the log file after logging data.

# * Testing logger
logger.info(f'{1} info log')
logger.debug('%s debug log', 2)
logger.warning('{0} warning log'.format(3))
logger.error('4 error log')


# ! USE ANY ONE TYPE OF LOGGER IN A SINGLE FILE, EITHER ABOVE OR BELOW.


# No need to make object for the class AshLogger, as @classmethod is used as alternative constructor.
basic_logger = AshLogger.setup_basic_logger(
                                        file_name='basic_logger_file_name.log'    # If `file_name` is not given, it will set logger file name as `AshBasicLogger.log`.
                                        , file_location=os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logs')    # If log file path not given, it will create a log/ dir where the calling python file is located.
                                        , logger_name='app1_logger'
                )

# * Testing basic logger
basic_logger.info(f'{1} info log')
basic_logger.debug('%s debug log', 2)
basic_logger.warning('{0} warning log'.format(3))
basic_logger.error('4 error log')
```



## License
[GNU GPLv3](LICENSE)
