-
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: 7801
you should now write:
clusterNodes: # clusterNodes -> nodes
- name: primary
agentPort: 7801
- name: backup-node
host: backup.mycompany.com
agentPort: 7801
-
pathBase
field has been renamed tolocalPlainLogsBase
and 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
,node
andtimestamp
fields for "main" log anymore. Instead, all the logs comprising the composite log must be declared inincludes
section 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
uriName
field or by automatically computed hashcode. For example, instead ofhttp://analog:8080/#/path/to/main.log
you can now writehttp://analog:8080/#/composite://my-composite
orhttp://analog:8080/#/composite://4F8ADC2F901
. -
scanDir
section has been removed. Now you can specify multiple directories to scan within the same group by means of newscanLocations/directories
section. 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: true
Only 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.