Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Simple logger for Python

Project description

DavesLogger

A simple but in depth logger for Python, Customize by Composition.

The idea for this tool is composing logging functions, so you can make the logs look exactly how you want or need them to.

Dave's logger3, but written in Python

Usage

You just import the package, and call log.

from DavesLogger import Log

Log ('Hello, World!') ()

# This would print:
# Hello, World!

That's not interesting, lets compose a simple prefix in front of the message.

from DavesLogger import Log

Prefixed = Log ().Prefix ('[DEBUG] ')

Prefixed ('Hello World, Debug Edition')

# This would print:
# [DEBUG] Hello World, Debug Edition

You can also chain the logging modifiers

from DavesLogger import Log

Prefixed = Log ().Prefix ('[DEBUG] ').Suffix (' [SUFFIX])

Prefixed ('Hello World, Debug Edition')

# This would print:
# [DEBUG] Hello World, Debug Edition [SUFFIX]

There are also a bunch of built in formatters, and colors. Colors are based on the colorama module, so you can use their api of chaining properties.

from DavesLogger import Log, Color

Prefixed = Log ().Prefix (Color.LightRed + '[DEBUG] ').Suffix (Color.LightGreen + ' [SUFFIX])

Prefixed (Color.Blue + 'Hello World, Debug Edition')

# This would print:
# [DEBUG] Hello World, Debug Edition [SUFFIX]
# But colored ^^

Or you can call some premade logs

from DavesLogger import Logs

MyLog = Logs.Debug
MyLog ()

# This would print:
# [DEBUG] DEBUG MESSAGE
# But colored ^^

You can event also change the text of premade logs!

from DavesLogger import Logs

MyLog = Logs.Debug
MyLog ('My custom debug message')

# This would print:
# [DEBUG] My custom debug message
# But colored ^^

Log Object

A log object has the following attributes:

  • Message
  • IPrefix
  • ISuffix

And the following functions:

  • Template
  • Prefix
  • Suffix

How the attributes work

from DavesLogger import Log

MyLog = Log ()
MyLog.Message = 'Hello!'
MyLog.IPrefix = '[Test] '
MyLog ()

# This would print:
# [Test] Hello!

The template function lets you load specific settings for your log

from DavesLogger import Log, Logs

MyLog = Log ().Template (Logs.Debug)
# This is the same as doing:
MyLog = Logs.Debug

The Prefix and Suffix function appends a new prefix or suffix to the current logs prefix or suffix.

Format

Format attributes:

  • Time :: The current time
  • Date :: The current date
  • FullDate :: The current date and time
  • Platform :: All info about the OS
  • System :: The OS
  • Release :: The release of the OS
  • Version :: The version of the OS

Example use of the attribues:

from DavesLogger import Logs, Format

MyLog = Logs.Server.Prefix (f'[{Format.Time}] ')
MyLog ()

# This would print:
# [SERVER] [20:57:18.633029] SERVER MESSAGE
# But colored ^^
# *The time may vary!*

You can also use the Formats Format function

from DavesLogger import Logs, Format, Color

MyLog = Logs.Server.Prefix (Format.Format (f'[{Format.Time}] ', Color.Red))
MyLog ()

# This would print:
# [SERVER] [20:57:18.633029] SERVER MESSAGE
# But colored ^^
# *The time may vary!*

Colors

  • Reset
  • End (Same as Reset)
  • White
  • LightGray
  • Gray
  • Black
  • Red
  • LightRed
  • Blue
  • LightBlue
  • Green
  • LightGreen
  • Yellow
  • LightYellow
  • Purple
  • LightPurple
  • Cyan

Premade Logs

  • Debug :: [DEBUG] DEBUG MESSAGE >> The Prefix is LightPurple
  • Warning :: [WARNING] WARNING MESSAGE >> The Prefix is LightYellow
  • Error :: [ERROR] ERROR MESSAGE >> The Prefix is LightRed
  • Success :: [SUCCESS] SUCCESS MESSAGE >> The Prefix is LightGreen
  • Server :: [SERVER] SERVER MESSAGE >> The prefix is LightBlue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
DavesLogger-1.1.0.tar.gz (4.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page