%global _empty_manifest_terminate_build 0 Name: python-splunk-handler-zuul Version: 0.1.0 Release: 1 Summary: A Python logging handler that sends zuul conponent logs to Splunk License: MIT License URL: https://github.com/lidall/splunk_handler Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e4/af/f7c009d26d5935d1f963a4d7c3ca38d4bd97912a223a88896f7bdbf5b8d0/splunk_handler_zuul-0.1.0.tar.gz BuildArch: noarch Requires: python3-requests Requires: python3-json-logger %description # Splunk Handler **Splunk Handler is a Python Logger for sending logged events to an installation of Splunk Enterprise.** *This logger requires the destination Splunk Enterprise server to have enabled and configured the [Splunk HTTP Event Collector](http://dev.splunk.com/view/event-collector/SP-CAAAE6M).* ## A Note on Using with AWS Lambda [AWS Lambda](https://aws.amazon.com/lambda/) has a custom implementation of Python Threading, and does not signal when the main thread exits. Because of this, it is possible to have Lambda halt execution while logs are still being processed. To ensure that execution does not terminate prematurely, Lambda users will be required to invoke splunk_handler.force_flush directly as the very last call in the Lambda handler, which will block the main thread from exiting until all logs have processed. ~~~python from splunk_handler import force_flush def lambda_handler(event, context): do_work() force_flush() # Flush logs in a blocking manner ~~~ ## Introduction This package is based on the splunk_handler of [Zach Tylor](https://github.com/zach-taylor/splunk_handler). The adjustment in this package enables json format in event that sent to spunk. Additionally, it is designed to suit logging of [zuul components](https://zuul-ci.org/docs/zuul/discussion/components.html). Thus, the source-type will reflect the zuul service and the event will contains eventId and buildId within zuul log. ## Installation Pip: pip install splunk_handler_zuul Manual: python setup.py install ## Usage from splunk_handler import SplunkHandler Then use it like any other regular Python [logging handler](https://docs.python.org/2/howto/logging.html#handlers). Example: ~~~python import logging from splunk_handler import SplunkHandler splunk = SplunkHandler( host='splunk.example.com', port='8088', token='851A5E58-4EF1-7291-F947-F614A76ACB21', index='main', record_format=True # will make the output as json #allow_overrides=True # whether to look for _> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-splunk-handler-zuul -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.1.0-1 - Package Spec generated