10 ms·
Toolong: Terminal application to view, tail, merge, and search log files
- alserio 3y agoNice! I've found this kind of tools really useful and love the merge functionality. I've skimmed the README but maybe I've missed the info: does toolong support multiline logs like stacktraces? Or is it possible to customize the recognized formats?
- asmosoinio 3y agoLooks very interesting and should solve a pretty common use case for me - am often trying to debug some issue over many log files. I will for sure test this next week.
- avtar 3y agoThe code base seems like a good reference as a small Python project. My fav option in this class of apps: https://lnav.org/ https://lnav.org/ It lets you use journalctl with pipes as requested here: https://github.com/Textualize/toolong/issues/4 https://github.com/Textualize/toolong/issues/4
- maxyurk 3y agolnav is great
- SushiHippie 3y agoMind elaborating why this would be a good reference? Not saying it isn't, just want to understand why you think so
- avtar 3y agoHi there! I'm mostly AFK for a couple days so replies might be delayed, but some notes: - System tool niche that I find interesting so it's nice to see a fairly complete and yet relatively small project - Textual seems to be their largest dependency, but other than that the project seems self-contained and relies on the standard library - With some exceptions, the majority of methods are short and easy to parse - Typing support :)
- SushiHippie 3y agoMakes total sense, I think I was a bit thrown of after the first glance because there are so many classes and files [0] and it reads a bit like Java code. But after a second glance it looks very well written compared to many other python projects, which sometimes read like a 5000 line bash script. And I can't argue against your arguments, especially using "minimal" dependencies and using typing. Typing often helps for autocompletion and understanding what a variable/function "means", which makes it [1] easier to start hacking on it. [0] not necessarily bad, just wasn't what I would expect to be a small reference project [1] not always, sometimes types can be too verbose and start messing with your brain ;)
- sandebert 3y agoPlus it's possible to download lnav as a statically linked binary, which is very nice. (Would have been even better if it was in the official repos.) I'm not interested in installing things using yet another package manager, like pip or the like.
- gregopet 3y agoI donated to lnav, it's just soo good!
- hawski 3y agoWhat I often do when I analyze logs is removing timestamps and changing unique identifiers to something more predictable and diff them to see when things started diverting from the norm, because it is often earlier than the usual error/crash. Is there anything that does something like it?
- xuhu 3y agohttps://github.com/harjoc/LogDiff https://github.com/harjoc/LogDiff - unmaintained, parses only ProcMon, but does the steps you describe, and uses Kdiff3 for diffs. With threaded apps it can be hard to identify automatically which thread is which.
- 1kurac 3y agoThis looks good: https://github.com/kernc/diff-logs https://github.com/kernc/diff-logs
- jonnycoder 3y agoThis would have been great when I used to work in embedded development and had to grep log files to root cause bugs. I had thought about writing something like this but was always too busy. The biggest feature is combining log files and organizing by timestamp.. well done
- raldi 3y agoA handy utility I’ve written a few times is a tool that can quickly extract a range of logs from a timestamped, ordered file without reading every byte. This would be a good feature to add to this.
- piterrro 3y agoCongrats on the launch! I'm an author of https://logdy.dev https://logdy.dev seems like we had a similar problem with logs and decided to solve it but in a slightly different way. Logdy works with pipes very well, I'm wrapping up another version to be released soon.
- kinow 3y agoI maintain a workflow manager, and had both textualize and logdy on my list of projects to try soon. Planning to add a TUI written in textualize, and was thinking in something like logdy (or use it directly). Not sure which way to go now, will play with both now and see which version users like best. Thanks for logdy, and thanks to the creators of toolong too!
- neitsab 3y agoThanks for making lodgy, it looks properly awesome! I definitely plan on using it as much as I can. I love the jump out of the terminal and into the browser, it makes it that much friendlier to me. Best of luck to the project!
- IHEARTANAL 3y ago[dead]
- mstudio 3y agoThis looks great. I spend a good amount of time each week grepping through Kubernetes log files. Looking forward to trying this out next week. I particularly like the pretty-print and merge options.
- deleted 3y ago[deleted]
- willm 3y agoHello. Author of Toolong here. Happy to answer any questions!
- l-albertovich 3y agoI don't really see myself using this app but I loved textual and even used it for a PoC a while back. I appreciate the work you are doing by dogfooding textual and how consistent you (or your team, I didn't know there was more than one person behind it) have been. I just wanted to say thanks so yeah, Thanks!
- willm 3y agoCheers. We’re a small team. 4 developers in total. I’ll pass on your thanks!
- mstudio 3y agoJust wanted to say thanks for creating this. Wonderful tool!
- willm 3y agoDe Nada
- barbs 3y agoWhat's the relevance of the kookaburra?
- willm 3y agoWe have a tradition of using a bird logo for our projects.
- nickjj 3y agoI'd love to see a tool that lets you modify large files efficiently. I had to replace line 4 of a 200 GB SQL dump, it took a substantial amount of compute time to perform a find / replace with sed and it also required having over double the disk space since sed creates a temp file before it writes out the new file. Using a hex editor could have worked but it seemed too risky because data integrity was really important.
- coolThingsFirst 3y agoWhat’s the challenge in here? Loading the text efficiently in RAM?
- nickjj 3y agoIt's mainly to save time. I don't remember exactly how long it took but I remember it being something like 30 minutes of purely waiting for the find / replace to finish on a 4 CPU core / 8 GB of memory machine. Memory wasn't an issue fortunately.
- filleduchaos 3y agoI mean, if you knew you only wanted to find/replace on line 4, why not simply stop the search after the first match? The syntax escapes me at the moment, but I'm quite sure I've used sed (or maybe awk?) in the past to do exactly that
- xwowsersx 3y agoNice example of a README done well. What, why, screenshots, how.
- Benbobby 3y ago[flagged]
- HellsMaddy 3y agoThis looks cool. If I have a log file with a format that is like `[timestamp] SEVERITY { json content }`, can I use the feature that pretty prints the JSON part, or does the whole line need to be valid JSON? If not could I somehow write a plugin that would allow me to parse the lines in order to accomplish this? That would be really useful.
- BOOSTERHIDROGEN 3y agoIn Indonesian “tolong” means help :)
- bananatype 3y ago[dead]
- marshblocker 3y agoSimilar with Tagalog -- "tulong".
- yalok 3y agoIs there a way to search/highlight multiple tokens at once? Didn’t find this in the help/GitHub readme…
- keithnz 3y agofor a gui based tool, I find klogg really good.
- swah 3y agoHow to remember that I installed this in 2 weeks when I need it?
- bemusedthrow75 3y agoA physical post-it note on your monitor that you don't take off until you've used it three times. Or some other similar reminder -- perhaps just a list of things you're going to install when you need them, so you don't install them until you have a use. (I have this problem too)
- safeimp 3y agoWhen I have a similar conundrum I typically add it to my calendar at a random time as a helpful popup/reminder. Usually I don’t even need the reminder, just writing it down is reminder enough.
- tester457 3y agoMake this alias for whatever log viewer you use now. alias tail='echo "use toolong instead" Now using tail to view logs will print that reminder instead.