mirror of
https://github.com/mailscope/kumomta.git
synced 2026-09-05 18:18:56 +00:00
This commit adjusts the logger: * When a log segment is finised, the `w` permission bits are removed. This is used to signal to the tailer that there will be no additional data written to that file. * On startup, kumod will remove the `w` bits from all files in the configured log directories so that any that were left on by a prior incarnation will be considered closed when the new generation is started up. * Add a `tailer` utility that will essentially `cat` all of the log files in a given directory in the appropriate order, then go into log tailing mode, where it will wait for new data to show up. * When reading data, if it hits EOF, the tailer will wait around until more data shows up, or until the `w` bit is removed from the file that it is reading. The idea is that, in a later commit, the tailer will be able to persist a checkpoint file to record where it got to, and be able to dispatch chunks of data to eg: a webhook push utility, advancing the checkpoint only when the utility indicates success. For now, running `cargo run -p tailer -- --tail /var/tmp/kumo-logs` is a convenient way to tail the logs as they are written.
22 lines
403 B
TOML
22 lines
403 B
TOML
[workspace]
|
|
members = [
|
|
"crates/bounce-classify",
|
|
"crates/cidr-map",
|
|
"crates/domain-map",
|
|
"crates/integration-tests",
|
|
"crates/kumod",
|
|
"crates/rfc5321",
|
|
"crates/spool",
|
|
"crates/tailer",
|
|
"crates/timeq",
|
|
"crates/throttle",
|
|
"crates/traffic-gen",
|
|
"crates/version-info",
|
|
]
|
|
resolver = "2"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
debug = 1 # include line tables for more meaningful backtraces
|
|
|