Analysis tool for Nextcloud logs files
  • Rust 83.9%
  • PHP 14.3%
  • Nix 1.8%
Find a file
2024-07-28 17:03:44 +02:00
.github/workflows ci 2024-07-25 23:44:03 +02:00
data fix data 2024-07-28 17:03:44 +02:00
logging-extractor handle template strings 2024-07-23 20:11:36 +02:00
nix fix data 2024-07-28 17:03:44 +02:00
screenshots ci 2024-07-25 23:44:03 +02:00
src more par 2024-07-28 16:42:12 +02:00
.envrc initial log extraction logic 2024-07-20 16:33:01 +02:00
.gitignore start working on tui 2024-07-24 22:34:00 +02:00
Cargo.lock parallel matching 2024-07-28 16:02:00 +02:00
Cargo.toml parallel matching 2024-07-28 16:02:00 +02:00
flake.lock generate more data logic 2024-07-26 22:01:01 +02:00
flake.nix profile 2024-07-28 14:31:52 +02:00
README.md more app data 2024-07-26 23:30:00 +02:00

logsmash

Analysis tool for Nextcloud logs files

Logsmash screenshot

Usage

logsmash ./logfile.log

Once the log file is load a list of matched log statements or exception are shown and a histogram for the selected match is show on top.

Selecting a match shows a list of distinct log items and selecting a log item shows a list of all occurrences of the log message.

Log matching

Logsmash tries to match the log item to the place in the source where the message originates from. This is either a call to a log method or an exception being thrown.

A log item can sometimes be matched to multiple items that are deemed to be equally likely to be the origin of the log item. In those cases all matches will be shown.

If a log item cannot be matched to an origin it will added to the "Unmatched lines" at the bottom of the list.

Supported data

Currently, the program can match against data from the following sources:

  • Nextcloud server 24 - 29
  • files_accesscontrol 1.19.1
  • files_antivirus 5.5.7
  • deck: 1.13.1
  • calendar: 4.7.13
  • contacts: 5.5.3, 6.0.0
  • groupfolders: 16.0.7, 17.0.1
  • guests: 3.1.0, 4.0.0
  • spreed: 18.0.10, 19.0.7
  • form: 4.2.4
  • tasks: 0.16.0
  • notes: 4.10.1
  • richdocuments: 8.4.3
  • collectives: 2.13.0
  • onlyoffice: 9.3.0
  • tables: 0.7.4
  • mail: 3.7.5
  • files_accesscontrol: 1.19.1
  • files_accesscontrol: 1.20.0
  • files_retention: 1.18.0

Updating baked data

Note that this is only needed when building with cargo, building with nix automatically uses the latest data.

rm -r data/src/data
nix build .#extracted-logs-rust
cp -rL result data/src/data && chmod -R +w data/src/data