Skip to content

Releases: philips-software/logproxy

v1.2.2

11 Jun 10:14
Compare
Choose a tag to compare

[NEW] Filter only mode

You may choose to operate Logproxy in Filter only mode. It will listen
for messages on the logdrain endpoints, run these through any active
filter plugins and then discard instead of delivering them to HSDP logging.
This is useful if you are using plugins for real-time processing only.
To enable filter only mode set LOGPROXY_DELIVERY to none

...
...
env:
  LOGPROXY_DELIVERY: none

v1.2.1

07 Jun 06:44
Compare
Choose a tag to compare
  • Change plugin glob

v1.2.0

05 Jun 08:27
Compare
Choose a tag to compare

Whats new

  • [NEW] Plugin support
  • Much improved batch error handling

Plugins

This release brings a brand new feature, plugins. It is now possible to add external plugins which are independent Go processes connected via gRPC which get a chance to transform or drop each message passing through Logproxy. Use cases include:

  • Dropping verbose or high frequency logs which are not interesting
  • Trigger events (e.g. send an email, call a webhook) when certain patterns in your logs are detected
  • Forwarding of logs to external systems

Below is a full working example of a plugin. It prints out the logging resource ID

package main

import (
	"fmt"
	"github.com/hashicorp/go-hclog"
	"github.com/hashicorp/go-plugin"
	"github.com/philips-software/go-hsdp-api/logging"
	"github.com/philips-software/logproxy/shared"
)

type Filter struct{}

func (Filter) Filter(msg logging.Resource) (logging.Resource, bool, bool, error) {
	hclog.Default().Info(fmt.Sprintf("Processed: %s", msg.ID))
	return msg, false, false, nil
}

func main() {
	plugin.Serve(&plugin.ServeConfig{
		HandshakeConfig: shared.Handshake,
		Plugins: map[string]plugin.Plugin{
			"filter": &shared.FilterGRPCPlugin{Impl: &Filter{}},
		},
		GRPCServer: plugin.DefaultGRPCServer,
	})
}

v1.1.1

13 Feb 12:46
Compare
Choose a tag to compare

Enhancements:

  • Fix procID field encoding
  • Update dependencies
  • Improve code coverage

v1.1.0

29 Jan 08:58
Compare
Choose a tag to compare

Enhancements:

  • Encode invalid chars in messages

New features:

  • IronIO logdrain support
  • Support for December 2019 HSDP logging release (custom fields)

v1.0.0

12 Jul 16:03
982dae0
Compare
Choose a tag to compare

1.0.0 release from Open Source version:

Enhancement:

  • Maps additional fields from JSON formatted Log message to HSDP Log message