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.3.0.tar.gz (261.3 kB view details)

Uploaded Source

Built Distribution

bug_trail-2.3.0-py3-none-any.whl (263.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bug_trail-2.3.0.tar.gz
  • Upload date:
  • Size: 261.3 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.3.0.tar.gz
Algorithm Hash digest
SHA256 4b8aa616c83e0910ce423ad8f24cc8506514b1068fe5383d95035dc5c2978821
MD5 67a4326e848310ef989306bee451de46
BLAKE2b-256 5364339d8de41c7b09609df053b2e219225d5e0155a262db2a08fc72fea66165

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bug_trail-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 263.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2cbeb6a59b76295cd3f33c0bd242d11a92944f1781522f1afedbd2e93cd73b3
MD5 90fbed70ffa246cfc256bb8247aff539
BLAKE2b-256 890bfadeabc5481c440343874f8d7f515c2a5f09d2fb823487b0c7178f637688

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