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)
Nyanger compatible with Linux (and probably any *NIX), and probably with Windows (feel free to test and report any issues)
All 3 modules follow same pattern:
Nyanger
is our logger class. You need to get instance of it ether by creating object manually or by callingget_logger
method.- You must provide list of
LogWriter
objects toNyanger
constructor, ifget_logger
called without this list then default consoleLogWriter
will be created. - You can create your own log writes by implementing
LogWriter
abstract class. - You start logger by calling
start()
method. - You use it by calling
other()
info()
warning()
error()
debug()
orlog()
methods ofNyanger
instance. - Before ending your program you're stopping logger by calling
stop()
method.
Init Nyanger directly:
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:
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()