Pyramid Sawing
A Pyramid framework plugin for configurating logging via YAML. This uses the Python standard-library’s logging (initialized using logging.config.dictConfig).
Usage
Include the package in your project, either by adding to the INI configuration:
pyramid.includes = pyramid_sawing pyramid_sawing.file = my-logging-config.yaml
Or declarative via the configuration object:
config.include('pyramid_sawing')
assert 'pyramid_sawing.file' in config.registry.settings
You’ll be required to specify a logging configuration file at pyramid_sawing.file, which points to the file that contains your YAML logging configuration.
YAML Configuration
This configuration follows the standard-library’s logging.config dictionary schema
An example configuration might look like this:
###
# logging configuration
###
version: 1
formatters:
generic:
format : '%(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s'
papertrail:
format : '%(asctime)s %(hostname)s my_project %(message)s'
datefmt : '%Y-%m-%dT%H:%M:%S'
filters:
context:
() : pyramid_sawing.filters.ContextFilter
handlers:
console:
class : logging.StreamHandler
level : NOTSET
formatter : generic
stream : 'ext://sys.stdout'
syslog:
class : logging.handlers.SysLogHandler
level : DEBUG
formatter : papertrail
filters : [context]
address : ['<host>.papertrailapp.com', 11111]
loggers:
my_project:
level : INFO
handlers : [console, syslog]
propagate : 0
root:
level : NOTSET
handlers : []
A typical gotcha in configuring this is to forget the ‘version’. Please make sure you include version: 1 in your configuration.
Additional Features
Transit Logging
This resembles the functionality you would find in pyramid_translogger except that this implementation is more configurable.
To enable this feature, add the following line to your configuraton/settings.
pyramid_sawing.transit_logging.enabled? = yes # Optional... # The default logger_name is `transit_logger` pyramid_sawing.transit_logging.logger_name = lumberjack
A template for configuring the transit logger would be something like:
formatters:
apache_style:
# filters : [environ]
format : '%(REMOTE_ADDR)s - %(REMOTE_USER)s [%(asctime)s] "%(REQUEST_METHOD)s %(REQUEST_URI)s %(HTTP_VERSION)s" %(status)s %(bytes)s "%(HTTP_REFERER)s" "%(HTTP_USER_AGENT)s"'
datefmt : '%d/%b/%Y:%H:%M:%S'
filters:
environ:
() : pyramid_sawing.filters.EnvironFilter
handlers:
console:
class : logging.StreamHandler
formatter : apache_style
filters : [environ]
stream : 'ext://sys.stdout'
loggers:
transit_logger:
handlers : [console]
propagate : 0
This should give you the exact same output as pyramid_translogger.
License
This software is subject to the provisions of the GNU Affero General Public License Version 3.0 (AGPL). See LICENSE.txt for details. Copyright (c) 2015 Rice University
Change Log
1.1.0
Add a transit (request) logging feature that mimics functionality found in pyramid_translogger. [pumazi]
1.0.0
Add a logging filter that allows for %(hostname)s be be used within log lines. [pumazi]
Logging from a YAML file. [pumazi]
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
File details
Details for the file pyramid_sawing-1.1.0.zip.
File metadata
- Download URL: pyramid_sawing-1.1.0.zip
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0fa4618677661bae8327632b707976cf2af6453d1953050e6a018fb9b35f28d
|
|
| MD5 |
4d1670e8380cf035e8e0d6cf21dcde0c
|
|
| BLAKE2b-256 |
c3ac1fc8fcc2c81cd81740d15f9d11e685abbb828a78262dd0faa9dc57772133
|
File details
Details for the file pyramid_sawing-1.1.0.tar.gz.
File metadata
- Download URL: pyramid_sawing-1.1.0.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a7096285734f27695fd301ae78695c3dc4a46f20c5218290571400d3e2eb0b
|
|
| MD5 |
ae919c4319d4d2b7384569cbecd6e1c5
|
|
| BLAKE2b-256 |
aceee756e0e3c781668f58a6fd5d84bad96f978b4e30807b5d47066d1f697a9d
|
File details
Details for the file pyramid_sawing-1.1.0.tar.bz2.
File metadata
- Download URL: pyramid_sawing-1.1.0.tar.bz2
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe7fa6d0bc4c48ef780fc1df3aa0d99b7990010e9ccc4c03ccab002eda66dab
|
|
| MD5 |
527bdc0ac7cbf3844fc88538bb4b9a1e
|
|
| BLAKE2b-256 |
f08d210b7539ddfcb385da7dfb2e3b33fa6f46928310b640a7b40bcf719b8925
|