stackify-python can be installed through pip:
$ pip install -U stackify-api-pythonstackify-python-api can be installed through pip:
$ pip install stackify-api-pythonimport stackify
logger = stackify.getLogger(application="Python Application", environment="Production", api_key="***")
logger.warning('Something happened')import logging
import stackify
logger = logging.getLogger()
stackify_handler = stackify.StackifyHandler(application="Python Application", environment="Production", api_key="***")
logger.addHandler(stackify_handler)
logger.warning('Something happened')export STACKIFY_APPLICATION=Python Application
export STACKIFY_ENVIRONMENT=Production
export STACKIFY_API_KEY=******stackify-python-api handles uploads in batches of 100 messages at a time on another thread. When your program exits, it will shut the thread down and upload the remaining messages.
Stackify can store extra data along with your log message:
try:
user_string = raw_input("Enter a number: ")
print("You entered", int(user_string))
except ValueError:
logger.exception('Bad input', extra={'user entered': user_string})You can also name your logger instead of using the automatically generated one:
import stackify
logger = stackify.getLogger('mymodule.myfile')This library has an internal logger it uses for debugging and messaging. For example, if you want to enable debug messages:
import logging
logging.getLogger('stackify').setLevel(logging.DEBUG)By default, it will enable the default logging settings via logging.basicConfig()
and print WARNING level messages and above. If you wish to set everything up yourself,
just pass basic_config=False in getLogger:
import stackify
logger = stackify.getLogger(basic_config=False)You can also use your existing django logging and just append stackify logging handler
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
'stackify': {
'level': 'DEBUG',
'class': 'stackify.StackifyHandler',
'application': 'MyApp',
'environment': 'Dev',
'api_key': '******',
}
},
'loggers': {
'django': {
'handlers': ['file', 'stackify'],
'level': 'DEBUG',
'propagate': True,
},
},
}Usage
import logging
logger = logging.getLogger('django')
logger.warning('Something happened')