8000 Releases Β· clemcer/loggifly Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: clemcer/loggifly

v1.3.2

19 May 18:27
Compare
Choose a tag to compare
  • fix: KeyError when using swarm_services with custom a notification_title (#23)

v1.3.1

17 May 14:40
Compare
Choose a tag to compare
  • fix: KeyError when using swarm_services with custom a notification_title (#23)
  • fix: original_log_line key not working when using a json_template

v1.3.0

09 May 12:46
Compare
Choose a tag to compare

This release introduces powerful Log filtering options, Swarm support, and better customization.

New Features

  • Docker Swarm Support (experimental) (#14)
    • LoggiFly now supports monitoring containers from Docker Swarm services.
      It is still marked as experimental because I dont have much experience with docker swarm
      and can not say for certain whether it works flawlessly.
      (Details & Examples in the README)
  • Advanced Log Filtering & Templates
    • You can now extract values from log lines and only display the relevant parts in your notification by using templates using either ajson_template for structured (JSON) logs or named capturing groups in your regular expression + template for plain text log entries (here are more details.)
    • Screenshots using templates
  • Custom Notification Titles
    • Define your own notification_title using {container} and {keywords} variables.
  • Webhook Integration
    • Send structured JSON data to your own endpoints for integration into 8000 custom workflows.
  • Cleaner Titles when regex pattern was found
    • Use hide_pattern_in_title: true with your Regex Pattern to hide complex regex from titles and improve readability.
  • Disable Container Start Notifications
    • Set DISABLE_CONTAINER_EVENT_MESSAGE=true or disable_container_event_mesage: true (config.yaml) to skip messages when a container starts being monitored. (#19)

Other Changes

  • Simplified Notifications on config reload
    • On config reload, only one summary message is sent for all monitored and inactive containers.
  • Fix: config.yaml and environment variables for notification services and values would not merge correctly.
  • Fix: container not found error when containers stop

New Configuration Options

Environment Variables:

  • LOGGIFLY_MODE
  • DISABLE_CONTAINER_EVENT_MESSAGE

config.yaml:

  • swarm_services
  • notification_title
  • hide_pattern_in_title
  • disable_container_event_mesage

Full Changelog: 1.2.1...1.3.0

1.2.1

20 Apr 06:52
Compare
Choose a tag to compare
  • Fix: Monitoring attempts for Docker clients that couldn’t be reached at startup
  • Change: Lower timeout for Docker client connection attempts

Full Changelog: v1.1.1...1.2.1

1.2.0

19 Apr 09:10
Compare
Choose a tag to compare

In this release I added support for multiple Docker hosts and arm64, implemented a reconnection mechanism for dropped connections and made some more improvements and refactorings.

Changes:

  • Added: Support for multiple remote Docker hosts (#4)
    • You can assign each host a label to help distinguish them in both notifications and logging.
  • Added multi-arch support: images now include amd64 and arm64 (#18)
  • Improved: Exception handling when connection drops
    • If too many errors occur and a Docker host becomes unreachable, the processes associated with that host are now stopped more cleanly.
  • Added: Reconnection mechanism
    • If the connection to a Docker host is lost, LoggiFly will now attempt to reconnect every 60 seconds
  • Updated README

v1.1.1

14 Apr 09:37
Compare
Choose a tag to compare

This is a minor release with little improvements, fixes and now an official recommendation to use a socket proxy (thanks to @FoxxMD for nudging me into that direction).

Config Path Update (Not Breaking)

One noteworthy change is the default location of the config.yaml. While the old path /app/config.yaml still works, the new official path is now /config/config.yaml.
LoggiFly will first look in /config/config.yaml, and fall back to /app/config.yaml if it's not found.

This has been done because:

  • it is more user friendly to mount to a folder and place the config file there instead of mounting the file directly since docker will create a directory for config.yaml if the file does not exist.
  • mounting /app is not really a good idea since the python files live there
  • When /config is mounted, a config template will now automatically be downloaded into that folder to simplify the setup process

Changes

  • improved logging
  • better exception handling
  • Added: Socket Proxy section in README
  • improved merging of environment variables and yaml config
  • New (additional) config location: /config/config.yaml, with auto-download of template if missing

v1.1.0

04 Apr 14:39
Compare
Choose a tag to compare

πŸš€ v1.1.0

Inspired by the (really unexpected) amount of attention my little program got, I refactored much of the code, improved a lot of the existing logic and mechanisms, fixed lots of bugs and added one new feature.

Changed Variables:

  • disable_restart β†’ reload_config
    (env: DISABLE_RESTART β†’ RELOAD_CONFIG)
    Previously, if you wanted to disable restarting the whole container on changes in the config.yaml you had to set disable_restart to True. Now the config reload is no longer done via a restart and happens while the program is running. If you still want to disable it again you have to set reload_config to False.
  • disable_restart_message β†’ disable_config_reload_message
    (env: DISABLE_RESTART_MESSAGE β†’ DISABLE_CONFIG_RELOAD_MESSAGE)

New variables:

  • action_keywords (config.yaml only)
  • action_cooldown (_env_: ACTION_COOLDOWN )
    See New Feature.

New Feature:

  • Keyword-triggered stops/restarts (#12)
    Add action_keywords to your config.yaml and specify stop: or restart: before every keyword (see README for more details).

Other major improvements:

  • Cleaner and faster shutdown
  • Reloading the config is now much smoother and done while the program is running, rather than being done by restarting the whole container. This causes the reload to be almost instantaneously.
  • Better Docker socket proxy support (#10) (still unofficial)
    When using a socket proxy the log stream connection drops every ~10 minutes. I wasn't able to fix the actual reason for the disconnects but I implemented a reconnect mechanism. Although it seems to work fine I am still not 100% sure that there are no remaining bugs when using a proxy so using one is not officially recommended (yet).

Fixes and small improvements::

  • Fix: Empty config file error (#11)
  • improved logging
  • improved error handling on config load

... lots of other fixes and improvements (too much code refactoring and little changes to list or remember every little thing)

Next up:

  • remote hosts
  • docker swarm support

The next bigger update might take a while but if anybody can't wait for remote hosts or docker swarm support contributions are welcome!

Full Changelog: v1.0.2...v1.1.0

v1.0.3

29 Mar 08:21
Compare
Choose a tag to compare

Hot fixes:

  • fix: NTFY_URL and NTFY_TOPIC mandatory even though apprise is configured (#9)
  • fix: Ntfy priority and tags seemed to be mandatory again (#3)

Full Changelog: v1.0.2...v1.0.3

v1.0.2

28 Mar 12:46
Compare
Choose a tag to compare

What's Changed

  • Fixed #5: Notifications with regex patterns not working because of pydantic misconfiguration
  • docs: update README.md by @eltociear in #6
  • Update README.md by @bartokwiat in #7

New Contributors

Full Changelog: v1.0.1...v1.0.2

v1.0.1

28 Mar 07:20
Compare
Choose a tag to compare
v1.0.1 49E2

What's changed:

  • Now when multiple keywords are found in the same log entry, only one notification is sent
  • fixes #3: Error when sending Notifications to Ntfy with no configured priority

Full Changelog: https://github.com/clemcer/loggifly/commits/v1.0.1

0