Skip to main content

Froggius is a dumb easy logging tool for python

Project description

GitHub code size in bytes GitHub last commit GitHub commit activity month GitHub license

Froggius

Froggius is a lightweight and dumb easy logging tool for python


Introduction

Froggius is a lightweight python libary, which is designed for easy to use logging for all your programs. It makes it easy for everybody, but also brings a lot of options to configure it like you need it. An very interesting feature for example is the error catching for functions, which makes it easy to log unexpected errors, warnings etc.

Installation

You can install Froggius with following command:

pip install froggius

Alternatively you can clone this repository and install then:

git clone https://github.com/zlElo/Froggius.git
cd Froggius
pip install .

Usage

Here are examples for the usage of Froggius. Import statement is following:

from froggius import Froggius

logger = Froggius()

Using debugger/logger

Use it as debugger/logger with following possible arguments:

  • log_msg (log message)
  • file_path (None by default, used to set up a log file [...] to append to this file. The file does not have to already exist, if it does not exist, it will be created)
  • print_out (True by default, used to setup printing to console and stdout)
# Example normal logging
logger.debug('This is a normal debug log')

# This writes the log to a log file
logger.debug('This is a normal debug log', 'tests/example.log', print_out=False)

Using with predefinied errors

Use it as error logger with following possible arguments:

  • log_msg (log message)
  • file_path (None by default, used to set up a log file [...] to append to this file. The file does not have to already exist, if it does not exist, it will be created)
  • highliting (True by deafult, used to colorize [DBG] etc.)
  • print_out (True by default, used to setup printing to console and stdout)
  • line (None by default, expects list with following 3 items in this structure: [line number, file name, function name])
# Example error
logger.error('This is an error log')

# This writes the error to a log file
logger.error('This is an error log', 'tests/example.log', print_out=False)

Using information logger

Use it as information logger with following possible arguments:

  • log_msg (log message)
  • file_path (None by default, used to set up a log file [...] to append to this file. The file does not have to already exist, if it does not exist, it will be created)
  • highliting (True by default, used to colorize [INF] etc.)
  • print_out (True by default, used to setup printing to console and stdout)
# Example information
logger.information('This is an information log')

# This writes the information to a log file
logger.information('This is an information log', 'tests/example.log', print_out=False)

Using warning logger

Use it as warning logger with following possible arguments:

  • log_msg (log message)
  • file_path (None by default, used to set up a log file [...] to append to this file. The file does not have to already exist, if it does not exist, it will be created)
  • highliting (True by default, used to colorize [WRN] etc.)
  • print_out (True by default, used to setup printing to console and stdout)
# Example warning
logger.warning('This is a warning log')

# This writes the warning to a log file
logger.warning('This is a warning log', 'tests/example.log', print_out=False)

Using catching errors

Use the catching errors methode, to catch and handle unexpected errors, warnings etc:

@logger.catch(file_path='tests/example.log')
def example_function():
    """
    Information: Not working function, because of division by zero
    """
    var1 = 5
    var = 0

    result = var1 / var
    print(result)

example_function()

Output in log file: [ERR] [01/04/2024 09:15:00] division by zero | Occured on line: 28 in /Users/username/path/examples.py, example_function()

Using global configuration

If you want to configure the file_path and the print_out for everything, you can do that with following line before all other Froggius statements:

# configure print_out and file_path for everything
logger = Froggius(print_out=False, file_path='tests/example.log')

logger.debug('Test normal')
logger.error('Test error')
logger.information('Test information')

It's also possible to say, that you want that all is not printed, but this logger.debug('Test normal') or logger.information('Test information'). Just work with the available parameters:

# configure print_out and file_path for everything
logger = Froggius(print_out=False, file_path='tests/example.log')

logger.debug('Test normal', print_out=True) # everything is not printed, but this line is printed
logger.error('Test error')
logger.information('Test information')

Project details


Download files

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

Source Distribution

froggius-0.1.6.post2.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

froggius-0.1.6.post2-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file froggius-0.1.6.post2.tar.gz.

File metadata

  • Download URL: froggius-0.1.6.post2.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for froggius-0.1.6.post2.tar.gz
Algorithm Hash digest
SHA256 ea2ab866c6e6fb40957be912ec158ce2226babd3eadc163dfec7a3534ccf1b5e
MD5 9791c7d93336d1908efc9a5ff6469deb
BLAKE2b-256 58d575bf698ee4291d5b0dc538bcc3c6ac96ff4562c02aceb93f84e9764c6cc6

See more details on using hashes here.

File details

Details for the file froggius-0.1.6.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for froggius-0.1.6.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 96c48c6bf7611f9f22903b6ab7253653fa89834fcb29c933d3a55ca9b1f3de4e
MD5 c3306c8ad574ad56252bbd090dfdec5e
BLAKE2b-256 5e6a2d5d15955a68836ba4e028682680298baf1be2367f2851a42346bc824021

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page