65 lines
2.3 KiB
Markdown
65 lines
2.3 KiB
Markdown
# Nyanger - simple logger
|
|
|
|
**Nyanger** is a simple logger designed to be simple to use and simple to modify.
|
|
|
|
Creation of Nyanger was motivated by the need of a simple logging facility for simple everyday scripts as well as simple logging solution for complex multiprocessing code.
|
|
|
|
Nyanger designed to be simultaneously: working solution, prototype, and code example.
|
|
So use Nyanger as is, extend it with **LogWriters**, or modify source code to fill your needs.
|
|
|
|
Nyanger consist of 3 modules:
|
|
- **async** (for the use with asyncio)
|
|
- **process** (for use with code of any complexity, but especially complex multiprocessing/multithreading code)
|
|
- **simple** (for plain simple scripts or multithreading code)
|
|
|
|
# Compatibility
|
|
Nyanger compatible with **Linux** (and probably any *NIX), and probably with **Windows** (feel free to test and report any issues)
|
|
|
|
# Usage
|
|
All 3 modules follow same pattern:
|
|
1. `Nyanger` is our logger class. You need to get instance of it ether by creating object manually or by calling `get_logger` method.
|
|
2. You must provide list of `LogWriter` objects to `Nyanger` constructor, if `get_logger` called without this list then default console `LogWriter` will be created.
|
|
3. You can create your own log writes by implementing `LogWriter` abstract class.
|
|
4. You start logger by calling `start()` method.
|
|
5. You use it by calling `other()` `info()` `warning()` `error()` `debug()` or `log()` methods of `Nyanger` instance.
|
|
6. Before ending your program you're stopping logger by calling `stop()` method.
|
|
|
|
# Example
|
|
Init Nyanger directly:
|
|
|
|
```python
|
|
import nyanger.process as nya
|
|
import nyanger.process.log_writers.console_writer as cwr
|
|
|
|
log: nya.Nyanger
|
|
|
|
if __name__ == '__main__':
|
|
# Init logger
|
|
log = nya.Nyanger("pur", loging_level=nya.LogLevel.DEBUG, log_writers=[cwr.ConsoleWriter()])
|
|
|
|
log.start()
|
|
log.other("Other test pur")
|
|
log.info("Info test put")
|
|
log.warning("Warning test pur")
|
|
log.error("Error test pur")
|
|
log.debug("Debug test pur")
|
|
log.stop()
|
|
```
|
|
|
|
Using get_logger helper:
|
|
```python
|
|
import nyanger.process.static as nya_stat
|
|
|
|
# Init logger
|
|
log = nya_stat.get_logger("nyan")
|
|
|
|
if __name__ == '__main__':
|
|
log.start()
|
|
log.other("Other test pur")
|
|
log.info("Info test put")
|
|
log.warning("Warning test pur")
|
|
log.error("Error test pur")
|
|
log.debug("Debug test pur")
|
|
log.stop()
|
|
```
|