-
Notifications
You must be signed in to change notification settings - Fork 5
v0.11
This AnaLog release focuses on the following goals:
- Support fetching of logs from Docker containers and Kubernetes resources (#15).
- Refine configuration model to eliminate inconsistency.
- Fix certain bugs with log watching (tracking) logic.
- Upgrade underlying tool stack.
This document briefly describes the external changes brought by achievement of these goals.
- From this version on AnaLog bases on Java 11 and thus requires appropriate runtime to work.
Log choices have been separated from the rest configuration and now
reside in a separate file. This is the first (preparation) step to
support choices hot reload scheduled for future releases. By default
the new file must be called choices.yaml and must reside in the same
directory as primary config file application.yaml, but this can be
changed in the startup script.
clusterNodes config section has been renamed to nodes and divided
into two subsections: for this and others nodes. As a result, you
don't need to specify myself flag anymore as it became clear which
node is current one. Neither serverPort nor agentPort values are
required for others nodes - if either is omitted, then
corresponding value of this node will be used.
Also note that this node section must not contain neither host nor
serverPort properties as they are
already defined in Spring Boot's built-in server.* section.
For example, instead of:
clusterNodes:
- name: primary
host: mycompany.com
agentPort: 7801
myself: true
- name: backup-node
host: backup.mycompany.com
agentPort: 7801you should now write:
clusterNodes: # clusterNodes -> nodes
- name: primary
agentPort: 7801
- name: backup-node
host: backup.mycompany.com
agentPort: 7801-
pathBasefield has been renamed tolocalPlainLogsBaseand applies to current group's local plain logs only, i.e. logs whose paths point to files on current node's file system. - Path for any log can now contain custom prefix such as
docker://,k8s://,node://,composite://. As a result, there is no need to explicitly specify node for a log as it can be extracted from the path. As an additional result, plain logs can now point to any remote log target, including Docker and Kubernetes. At the same time ordinary absolute paths (like/home/me/logs/app.log) are still supported. - Composite logs section must not contain
path,nodeandtimestampfields for "main" log anymore. Instead, all the logs comprising the composite log must be declared inincludessection of the composite log. As a result, there is no "main log" notion for composite logs since all its participants are on the same level. - URI reference to composite logs doesn't consist of its main log's path but either
by manually specified
uriNamefield or by automatically computed hashcode. For example, instead ofhttp://analog:8080/#/path/to/main.logyou can now writehttp://analog:8080/#/composite://my-compositeorhttp://analog:8080/#/composite://4F8ADC2F901. -
scanDirsection has been removed. Now you can specify multiple directories to scan within the same group by means of newscanLocations/directoriessection. More location types to come soon. - Plain logs format has been changed. Instead of one string they must be described on separate lines, e.g. instead of
plainLogs:
- /home/me/app.log as "Main log of group $g" (selected)it must be declared as:
plainLogs:
- path: /home/me/app.log
title: Main log of group $g
selected: trueOnly path field is required. By default title is $f - $g (i.e. file name, dash, group name) and selected flag is false.
AnaLog documentation is added as the need required.
If you feel something is missing or incorrect here please don't hesitate
to ask for edit.