Skip to main content

Server monitoring Discord Bot Logger

This is a logger used by the Server Monitoring Discord Bot and every module created for it by me.

Possible log formats:

  • [COUNTER] [LEVEL]: DATA{END}
  • [COUNTER] [FILE_NAME->METHOD_1->...->CALLER]: DATA{END}
  • [COUNTER] [METHOD_1->...->CALLER]: DATA{END}

If the caller name is shown and the caller was the body of the file, a line number will be shown instead.

Available log levels:

  • TRACE
  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • EXCEPTION
  • HEADER

Options:

Variable name Description Default value
log_file_name The name of the log file None
log_folder The path of the folder to save the log file Current Directory
clear Clears the log file every time it's initialized False
level Sets the minimum level for the logger to show INFO
log_to_console Sets to log to console too True
storage_life_extender_mode Limits the writes to the file by caching the data False
max_caller_chain_size Limits the maximum size of the call chain shown -1 (No limit)
max_logfile_size Limits the size of one log file in MB -1 (No limit)
max_logfile_lifetime Limits the time a log file can live (except the currently used one) -1 (No limit)
out The standard output TextIO. stdout
err The standard error TextIO. If set to None 'out' will be used stderr
use_caller_name Use the caller's name in consol logging instead of the level False
use_file_names Use the file name whe using the caller name or not True
use_log_name Use the log file name to differenciate between multiple loggers on console False
level_only_valid_for_console Setting this will log the unwanted levels but will not display them in console False
log_disabled Disables logging to everywhere, and disables warning about silent logging False
enable_file Enables log file if a name is provided True
enable_color Enables coloring of the console log. If NO_COLOR environment variable is set, this will be ignored True

Additional info

The consol logging uses colors for the different levels to be more recognizable at a glance. It also supports headers, after which it indents the logs to add some structure.

TRACE

  • #00E6E5

DEBUG

  • #E600E5

INFO

  • #0BFF00

WARNING

  • #FEFF00

ERROR | EXCEPTION

  • #FF0000

HEADER

  • #4182B7

Available methods

get_buffer()

Return sthe buffer's content in a list, if the logger is set to use buffers.

flush_buffer()

Forces a writes of the buffer to the log file.

set_level(level: LEVEL)

Sets the loggers leve to be used from this point onwards.

set_folder(folder: str)

Sets the loggers folder to be used from thi point. It also runs the basic validation on the inputed path.

log(level: LEVEL, data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a log entry with the given level.
The 'only_console' argument will remove the log from logfile, and only display the 'data' with the correct coloring.

header(data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a HEADER level log entry.

heartbeat(self, data: str, counter: str | None = str(datetime.now()), end: str = "\n")

Creates a TRACE level log entry. Will only show up in console.

trace(data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a TRACE level log entry.

debug(data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a DEBUG level log entry.

warning(data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a WARNING level log entry.

info(data: str, counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a INFO level log entry.

error(data: str, exception: Exception | None = None counter: str | None = str(datetime.now()), end: str = "\n", only_console: bool = False)

Creates a ERROR level log entry.

exception(exception: Exception)

Creates an EXCEPTION level log entry. This will only print the exception as a traceback.

Download files

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

Source Distribution

smdb_logger-1.5.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

smdb_logger-1.5.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file smdb_logger-1.5.0.tar.gz.

File metadata

  • Download URL: smdb_logger-1.5.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for smdb_logger-1.5.0.tar.gz
Algorithm Hash digest
SHA256 5b37271d2cd58765ce025e0f3042abaa91e16127fc4068b031d9f6e456afc7e9
MD5 05170d8e15e59eb56a3fae6c61671abd
BLAKE2b-256 0953f7b392f46fd94d552ee4db9e9bccdeb8f1bfb85fad79e4b7a1b29b2ffd34

See more details on using hashes here.

File details

Details for the file smdb_logger-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: smdb_logger-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for smdb_logger-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebfb6d2c21501210d8e838cb8114523d59363306e7f048f81ca33a96e8b358b4
MD5 90938219e80cca342d2371b8a8bb2321
BLAKE2b-256 327c018365e58f20c21276160c83205e4bca2f2d875a8861e94e37de9f390dbb

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.2

2 files

1.5.1

2 files

This release

1.5.0 This release

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page