Metadata-Version: 2.1
Name: logfit
Version: 1.1.1
Summary: Watch and upload log files to log.fit
Home-page: https://github.com/albertyw/logfit-daemon
Author: Albert Wang
Author-email: daemon@log.fit
License: MIT
Keywords: logfit log.fit logging monitoring alerting
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Topic :: Internet :: Log Analysis
Classifier: Topic :: System :: Logging
Classifier: Topic :: System :: Monitoring
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Provides-Extra: dev
Provides-Extra: test

LogFit Daemon
=============

|PyPI| |Python Versions|

|Drone|

The LogFit daemon watches log files and sends data to the LogFit app
for analysis.

Installation
------------

TODO

Usage
-----

.. code:: bash

    # Start in foreground mode
    python3 logfit/client.py [run|foreground]

    # Start in daemon mode
    python3 logfit/client.py start

    # Stop daemon
    python3 logfit/client.py stop

    # Restart the daemon
    python3 logfit/client.py restart

    # Get the daemon status
    python3 logfit/client.py status


Configuration
-------------

The daemon can read from a ``logfit_config.yaml`` config file of the format:

.. code:: yaml

    # Required: Get this from your log.fit account
    source: "64a4b9bd88f14511926e0de86f23e2d8"

    # Optional: The directory the daemon will watch
    watch_directory: "/var/log/"

    # Optional: Minimum log level.  Possible options are
    # critical, error, warning, info, and debug
    log_level: "warning"

    # Optional: File to write daemon logs to
    log_file: "logfit.log"

    # Optional: limit watching log files to given mime types
    allowed_mime_types:
    - text/plain
    - inode/x-empty

    # Optional: List of file globs to not watch, should be the
    # full absolute path
    ignore_paths: []


Development
-----------

.. code:: bash

    python setup.py develop
    pip install -r requirements-test.txt
    flake8
    coverage run -m unittest
    coverage report -m


Publishing
----------

.. code:: bash

    # Publish to PyPI
    python setup.py sdist bdist_wheel
    twine upload dist/*

    # Generate binaries for multiple operating systems
    pyinstaller logfit/main.py -F -p logfit --hidden-import queue -n logfit_linux_x86_64
    pyinstaller logfit/main.py -F -p logfit --hidden-import queue -n logfit_macos_x86_64
    pyinstaller logfit/main.py -F -p logfit --hidden-import queue -n logfit_windows_x86_64

    # Copy binaries into logfit-daemon-binary


.. |PyPI| image:: https://img.shields.io/pypi/v/logfit.svg
   :target: https://pypi.python.org/pypi/logfit/
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/logfit.svg
   :target: https://github.com/albertyw/logfit-daemon
.. |Drone| image:: https://drone.albertyw.com/api/badges/albertyw/logfit-daemon/status.svg
   :target: https://drone.albertyw.com/albertyw/logfit-daemon


