Skip to content

ChrisYeomans/ApplePyLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ApplePyLog

pypi

Install with pip install applepylog

A simple logging library for small projects.

There are 4 Logging levels:

  • Error
  • Info
  • Warn
  • Debug

You can write to any of these levels and change the current log level of what gets printed from the logger The log levels work as the order above so a log level of Error will only print Error logs A log level of Warn will print Warn, Info and Error logs but not Debug The default log level is Warn

You can pass in any writer with type TextIO, the default is sys.stdout but you can also pass in file writers

You can also specify an alternate writer, which defaults to None, which will write the same as the main writer, this can be useful to write your logs to stdout and also save them to a file. This alternate writer also has its own log level that can be specified, also with default of WARN.

Basic Usage:

from applepylog import Logger

# Creates a logger to stdout
_logger = Logger("Test Logger")
_logger.info("test message") # logs "<timestamp> INFO Test Logger, test message"
_logger.debug("test message") # doesnt log anything because default log level is warn

Changing Log Level:

from applepylog import Logger, LogLevel

#Prints nothing because logger is in error level
_logger = Logger("Test Logger", log_level=LogLevel.ERROR)
_logger.info("test message")

Changing writer:

from applepylog import Logger
import sys

# Creates a logger to stderr
_logger = Logger("Test Logger", writer=sys.stderr)
_logger.info("test message")

# Creates a logger to a file
file = open("log_file.txt", "w+")
_other_logger = Logger("Test Logger", writer=file)
_other_logger.info("file test message")

Using the alternate writer:

from applepylog import Logger
import sys

file = open("./log_file.txt", "w+")
_logger = Logger("Test Logger", writer=sys.stdout, alt_writer=file)
# Writes same log message to both stdout and the log file
_logger.info("test message")

Using the alternate writer with a different log level:

from applepylog import Logger, LogLevel
import sys

file = open("./log_file.txt", "w+")
_logger = Logger("Test Logger", writer=sys.stdout, log_level=LogLevel.ERROR, alt_writer=file, alt_log_level=LogLevel.INFO)
# Writes to the log file but not stdout because of the Log levels of the writers
_logger.info("test message")

About

A Simple logger for small projects in python

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages