Skip to content

Releases: loggie-io/loggie

v1.5.0

03 Apr 06:32
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.5.0-rc.0

20 Jul 02:16
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.4.1

15 Jun 06:09
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.4.0

07 Mar 06:45
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.3.1

06 Jan 03:06
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.4.0-rc.0

04 Jan 03:28
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.3.0

18 Nov 05:37
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v1.3.0-rc.0

01 Sep 06:37
Compare
Choose a tag to compare

Release v1.3.0-rc.0

🌟 Features

  • Add transformer interceptor (#267)
  • Add api /api/v1/helper for debugging (#291)
  • Monitoring listener for normalize interceptor (#224)
  • Add typeNodeFields in kubernetes discovery, change k8sFields to typePodFields, add pod.uid, pod.container.id, pod.container.image to typePodFields (#348)
  • File source support any lineDelimiter (#261)
  • Logconfig/Clusterlogconfig labelSelector support wildcard * (#269)
  • Add override annotation in logConfig/clusterLogConfig (#269)
  • Add go test in makefile and github action (#282)
  • Support total events in dev source (#307)
  • Make file sink default file permissions from 600 to 644 (#304)
  • Change goccy/go-yaml to gopkg.in/yaml.v2 (#317)
  • Add schema interceptor (#340)
  • Support collect log files from pod pv (#341)
  • Support dynamic container logs (#334)
  • Put the encoding conversion module in the source (#344)
  • Support [a.b] when fields key is a.b other than a nested fields (#301) (#297)
  • Loki sink will replace fields including string '. / -' to '_' (#347)

🐛 Bug Fixes

  • Set beatsFormat timestamp to UTC in sink codec (#268)
  • Fix pipeline stop block (#280) (#284) (#289) (#305) (#309) (#335)
  • Fix addonMeta panic (#285)
  • Move private fields from header to meta in grpc source (#286)
  • Fix clusterlogconfig npe when deleting (#306)
  • Fix prometheus export topic (#314)
  • Fix watchTask stop panic; fix big line collect block (#315)
  • Fix type assert panic when deleting pod recieve DeletedFinalStateUnknown objects (#323)
  • Fix maxbytes order (#326)
  • Check if pod is ready when handle logconfig events (#328)
  • Stop pipeline when config is empty (#330)
  • Change leaderElection Identity in kubeEvent source (#349)

v1.2.0

16 Jun 08:51
Compare
Choose a tag to compare

Release v1.2.0

🌟 Features

  • Support container root filesystem log collection, so Loggie could collect the log files in container even if the pod is not mounting any volumes. #209
  • Add sls sink for aliyun. #172
  • Support specifying more time intervals(like 1d, 1w, 1y) for the "ignoreOlder" config of file source. #153 (by @iamyeka)
  • Add ignoreError in normalize interceptor. #205
  • Add system listener, which can export CPU/Memory metrics of Loggie. #88
  • Set log.jsonFormat default to false, so Loggie would no longer print json format logs in default. #186
  • Add callerSkipCount and noColor logger flag. #185
  • file sink support codec. #215 (by @lyp256)
  • Support linux arm64. #229 (by @ziyu-zhao)
  • addk8smeta support adding workload metadata. #221 (by @lyp256)
  • Support extra labels in prometheusExporter source. #233
  • Logconfig matchFields labels, annotations and env support wildcards(*). #235 (by @LeiZhang-Hunter)
  • Add source codec for file source. #239
  • Some specific fields pattern now supports ${_env.XX}, ${+date}, ${object}, ${_k8s.XX}. #248
  • We support rename body of events in normalize interceptor now. #238
  • Use local time format in pattern fields. #234
  • Refactor reader process chain. #166
  • Optimize merge strategy of default interceptors. #174 (by @iamyeka)
  • Merge defaults configurations support recursion. #212
  • Cache env for optimizing performance when using fieldsFromEnv. #178 (by @iamyeka)
  • Update yaml lib to goccy/go-yaml. #242
  • Omit empty pipeline configurations. #244

🐛 Bug Fixes

  • Fix json error with go 1.18. #164
  • Fix list logconfigs by namespace when handling pod events. #173
  • Fix watcher stop timeout in file source. #188
  • Fix MultiFileWriter in file sink. #202 (by @lyp256)
  • Fix pipeline stop may block. #207
  • Fix unstable interceptor sort. #216
  • Fix grpc source ack panic. #218
  • Fix sub path in kubernetes discovery. #236 (by @yuzhichang)

v1.1.0

15 Apr 05:37
Compare
Choose a tag to compare

Loggie release v1.1.0

🌟 Features

  • Loki sink supported, so you can send messages to Loki now. #119

    eg:

    sink:
      type: loki
      url: "http://localhost:3100/loki/api/v1/push"
  • Add spec.interceptors and spec.sink fields in ClusterLogConfig/LogConfig CRD #120

    eg:

    apiVersion: loggie.io/v1beta1
    kind: LogConfig
    metadata:
      name: tomcat
      namespace: default
    spec:
      selector:
        type: pod
        labelSelector:
          app: tomcat
      pipeline:
        sources: |
          - type: file
            name: common
            paths:
              - stdout
        sink: |
          type: dev
          printEvents: false
        interceptors: |
          - type: rateLimit
            qps: 90000
  • A new codec type raw is added. #137

    eg:

        sink:
          type: dev
          codec:
            type: raw
  • A new approach to external configurations, -config.from=env, allows Loggie to read configs from env. #132 (by @chaunceyjiang)

  • Normalize interceptor now support fmt processor. This can reformat the fields by patterns. #141

    eg:

    interceptors:
    - type: normalize
      processors:
      - fmt:
          fields:
            d: new-${a.b}-${c}
  • Adding enabled fields in source/interceptor. #140

  • We would flush the pipelines.yml immediately when updating sink/interceptor CR. #139

  • Upgraded client-go version to 0.22.2 #99 (by @fengshunli)

  • sniff are disabled in elasticsearch sink by default. #138

  • Updated kubeEvent source #144

    • leader election support.

    • blacklist of namespaces support.

    • adding watchLatestEvents fields, allows Loggie watch the lastest events from K8s.

    eg:

          - type: kubeEvent
            name: eventer
            kubeconfig: ~/.kube/config
            watchLatestEvents: true
            blackListNamespaces: ["default"]
  • Brace Expansion:{alt1,...} suppport, matches a sequence of characters if one of the comma-separated alternatives matches. #143

    eg:

    log files following:

    1. /tmp/loggie/service/order/access.log
    2. /tmp/loggie/service/order/access.log.2022-04-11
    3. /tmp/loggie/service/pay/access.log
    4. /tmp/loggie/service/pay/access.log.2022-04-11
    

    then the path field in filesource could be: /tmp/loggie/**/access.log{,.[2-9][0-9][0-9][0-9]-[01][0-9]-[0123][0-9]}

  • Adding local in normalize interceptor, in case we want to parse timestamp with local time. #145

  • We support a simple way to add file state when collecting log files, enable addonMeta, then Loggie will add more metadata of files in events. #148

    eg:

    {
      "body": "this is test",
      "state": {
        "pipeline": "local",
        "source": "demo",
        "filename": "/var/log/a.log",
        "timestamp": "2006-01-02T15:04:05.000Z",
        "offset": 1024,
        "bytes": 4096,
        "hostname": "node-1"
      }
    }
  • Adding pod.ipnode.ip in K8s discovery. #149

  • Customized documentId supported in elasticsearch sink. #146

🐛 Bug Fixes

  • Fix read chan size error in filesource #102
  • Update default value of maxAcceptedBytes in kafka source which may cause panic in component starting. #112