Skip to main content

Local static html error logger to use while developing python code.

Project description

Bug Trail

This is a workstation logger to capture bugs encountered while you are writing code.

In other words, it is an HTML report writer for your logs, even if they aren't errors if that is your thing.

Installation

The handlers in bug-trail-core support python 3.9+. bug-trail, the report viewer supports python 3.11 and should be installed apart from your main app.

Install bug-trail-core with your app. It has as few dependencies as I could manage.

pip install bug-trail-core

To generate the static website install this in an isolated global virtual environment.

pipx install bug-trail

Usage

Configuration is optional via a pyproject.toml file and the logging modules ordinary configuration options. See example code-as-config

This is the schema with the default values.

[tool.bug-trail]
app_name = "bug_trail"
app_author = "bug_trail"
report_folder = "logs"
database_path = "bug_trail.db"
import bug_trail_core
import logging

section = bug_trail_core.read_config(config_path="../pyproject.toml")
handler = bug_trail_core.BugTrailHandler(
    section.database_path, minimum_level=logging.ERROR
)
logging.basicConfig(handlers=[handler], level=logging.ERROR)

logger = logging.getLogger(__name__)
logger.error("This is an error message")

To generate to the log folder relative to the current working directory:

bug_trail --output logs --db error_log.db

Picologging

If you want to use picologging, install it. Everything is the same except you use the PicoBugTrailHandler.

import bug_trail_core
import logging

section = bug_trail_core.read_config(config_path="../pyproject.toml")
handler = bug_trail_core.PicoBugTrailHandler(
    section.database_path, minimum_level=logging.ERROR
)
logging.basicConfig(handlers=[handler], level=logging.ERROR)

logger = logging.getLogger(__name__)
logger.error("This is an error message")

Do more with your data

pipx install datasette
datasette bug_trail.db

Security

None. Do not publish your error log to the internet or to public Github. Add the log folder to your .gitignore file.

Advanced

Get ctags from here

./ctags -R -f fish_tank.tags fish_tank

Prior Art

Inspired by elmah. bug_trail is much less ambitious, as this is just a browsable, static HTML report.

If you want logger for a website, hosted in your Flak or Django website:

These are the closest "write logs to HTML" projects I could find:

If you want someone else to do it all for you

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

bug_trail-2.0.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

bug_trail-2.0.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file bug_trail-2.0.0.tar.gz.

File metadata

  • Download URL: bug_trail-2.0.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for bug_trail-2.0.0.tar.gz
Algorithm Hash digest
SHA256 5fda4310aff6fb7672de701090baf805da160cb84803fa04aa4d0eb47394f307
MD5 fd7b25be39701150a6456530fb205c2b
BLAKE2b-256 c19526eb62bee758007af7f2c162e4fd83e5e5c12932de8282e76643839665b7

See more details on using hashes here.

File details

Details for the file bug_trail-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: bug_trail-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for bug_trail-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47fc1ed81dd1957baef90c867ee6e291872487ba2edc4050ae7cb1bada786966
MD5 075717168ecbcf0ce015a294452e7023
BLAKE2b-256 98c88e04524fcc6236969a33a2f120ccd27931f9afc4b7fbf6c22ece0a605568

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