python loghandler for seq
Reason this release was yanked:
Required .version file broke pip install
Project description
SeqPyLogger
SeqPyLogger is a python loghandler for seq.
Usage
import os
os.environ["SEQ_APIKEY"] = "xSxExQxAxPxIxKxExYx"
os.environ["SEQ_SERVER"] = "http://localhost:8794/"
os.environ["Environment"] = "Staging"
import logging
from seqpylogger import SeqPyLogger
root = logging.getLogger()
root.setLevel(logging.INFO)
seqLogger = SeqPyLogger(buffer_capacity=10)
root.addHandler(seqLogger)
logger = logging.getLogger("MyLogger")
logger.debug("Debug log message")
logger.info("Informational log message")
logger.warning("Warning log message")
logger.error("Error log message")
logger.critical("Critical log message")
logger.fatal("Critical log message")
logger.info("Test log message with argument %s", "dummy argument")
logger.info("Test log message with arguments %s, %s", "dummy argument 1", "dummy argument 2")
try:
raise Exception("Some issue")
except:
logging.exception("An error occured but now we have the stacktrace")
# logging.error("There was an error", exc_info=1) # alternative to .exception()
# logs are flushed every 10 seconds and every 10 logs
An alternative way of setting the handler is using the dictConfig
import os
import time
import logging
import logging.config
os.environ["SEQ_APIKEY"] = "xSxExQxAxPxIxKxExYx"
os.environ["SEQ_SERVER"] = "http://localhost:8794/"
os.environ["Environment"] = "Staging"
logger_config = {
"version": 1,
"disable_existing_loggers": True,
"root": {
"level": logging.INFO,
"handlers": ["seq"]
},
"handlers": {
"seq": {
"level": logging.INFO,
"class": "seqpylogger.SeqPyLogger"
},
},
}
logging.config.dictConfig(logger_config)
logging.info("Example message")
Installation
pip install seqpylogger
Test install
Used for development on the package.
sudo python3 -m pip install -U .
Examples
try:
raise Exception("Some issue")
except:
logging.exception("An error occured but now we have the stacktrace")
# logging.error("There was an error", exc_info=1) # alternative to .exception()
try:
raise Exception("Some issue")
except:
logging.fatal("This time no stacktrace")
try:
raise Exception("Some issue")
except:
logging.fatal("Stacktrace is not limited to ERROR", exc_info=1)
Images
Changelog
inspired by Keep a changelog
[2021-08-20]
- [Fixed] Missing .version file in MANIFEST.md broke pip installation
[2021-08-13]
- [Fixed] Replaced badge.fury.io pypi badge with shields.io
- [Changed] Added tagging in create_release.sh
- [Changed] Used
atexit
to register flush on exit - [Fixed] Fixed issue of duplicate logs when doing a manualflush
[2021-03-22]
- [Fixed] Update dependencies in Pipfile.lock
[2020-12-29]
- [Fixed] old dependencies for development
[2020-07-17]
- [Fixed] .msg and arg objects always converted to str
- [Changed] internal logs nolonger use root logger
[2020-05-13]
- [Fixed] Removed print line when adding seq url without trailing slash
- [Changed] README example to fully work if copied
- [Added] changelog to README
[Unreleased]
- String formatting only works for
%s
not for%d
, the argument is stil available but the message misses the value - Environment variable only works using
Environment
while full uppercase is the best practice for environment variables
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
seqpylogger-1.0.8.tar.gz
(8.5 kB
view hashes)