Skip to main content

This is a custom logger module for Python

Project description

loggerk

This is a custom logger module for Python

Enviroment variables required:

  • LOGGER_APP_NAME: The name of the App
  • LOGGER_URLS: a list of URLS to send the log requests to. Separated by commas.
  • LOGGER_CREDENTIALS: If needed, the credentials to send the log resuests with.

Usage

Import LoggerK from the loggerk mdoule

from loggerk import LoggerK

Then initialize the LoggerK class, and call the usual methods

logger = LoggerK(__name__)

logger.debug("This is a debug level message.")
logger.info("This is an info level message")
logger.warning("This is a warning level message")
logger.error("This is an error level message")
logger.critical("This is a critical level message")

The LoggerK initializer takes several arguments:

  • name: str
  • app_name: str
  • level: str | int
  • config: ConfigDict
  • file_path: str

The only required argument is name. The rest of the arguments are Optional.

Note:

Initializing two LoggerK instances with the same name will behave as a Singleton, so any new configuration to the new instance will affect all existing instances with the same name.

Example:

logger_1 = LoggerK("my_new_logger")

logger_2 = LoggerK(
    "my_new_logger", 
    config=SOME_CUSTOM_CONFIG,
)

# The new config on logger_2 will apply also for the logger_1 as they share the same name.

app_name

Represents the name of the application in which the logger instance is being created. If it is not provided, it will be extracted from the environment as LOGGER_APP_NAME.

level

Is the default level for the logger, it can take integer values, however its recommended for better readability to use the Literal values defined in the class:

  • "DEBUG"
  • "INFO"
  • "WARNING"
  • "ERROR"
  • "CRITICAL"

When using handlers, if the handler does not define a logging level, this default level will be used.

config

A dictionary containing the configuration for the logger.

For more info on how to configure the logger check the logging.config Logging configuration.

The LoggerK initializer has a DEFAULT_CONFIG dictionary which includes three default handlers:

  • An StreamingHandler to the standar output.
  • A RotatingFileHandler that defaults to "logs/app.log"
  • A CustomHttpHandler that will make a post request for every log message to the first URL that returns a succesful response within the given URLs in the LOGGER_URLS env variable.

file_path

When given a value, will override every FileHandler inside the config dictionary.

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

loggerk-0.0.2.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loggerk-0.0.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file loggerk-0.0.2.tar.gz.

File metadata

  • Download URL: loggerk-0.0.2.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for loggerk-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d04a8163c60a07c77bb884868a201211600e551500e6a1e9e5cbea1d020cc0a6
MD5 ef7eac4a6d7f5f8b22d8668acd712cf9
BLAKE2b-256 cee60f535eb0a3d1331ae324949abca326f8574d3220bc575a8279b75df5fea4

See more details on using hashes here.

File details

Details for the file loggerk-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: loggerk-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for loggerk-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1f30b03b4815d0f83ddfe47e1f7701c645b92962c766b4206c57a2eeaf8b55c5
MD5 d1cc72ddbeb757f6493472c06430a292
BLAKE2b-256 b6cbef41bbbb04e921607de734de12fc3fafa01722682af9edff81d427c8d344

See more details on using hashes here.

Supported by

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