update readme

Improve wording.
This commit is contained in:
robocopAlpha 2020-08-04 15:50:36 +03:00
parent 34f328de59
commit 89a3b71e24

View file

@ -7,25 +7,36 @@
### Why?
I wrote Brewlog to fulfill a shortcoming I felt [homebrew](https://brew.sh/) has had for a long time. I got the basic idea from [a very old issue on homebrew](https://github.com/Homebrew/legacy-homebrew/issues/10430).
I wrote [ `brewlog`](https://github.com/robocopAlpha/brewlog/) to patch a minor but IMHO a significant shortcoming I feel [homebrew](https://brew.sh/) has had for very long time. It is the ability to log what homebrew does. IMO it doesnt have to be something very sophisticated i.e. integration with system-log, etc.. So, I worked on a basic idea I got from [this particular issue](https://github.com/Homebrew/legacy-homebrew/issues/10430) and developed `brewlog`.
### Why bother with a log file, when brew is so stable?
`brew` is generally very stable, but occasionally it breaks compatibility when it is upgrading some packages and removes some “obsolete” versions. Generally this is fine, but in certain cases the user wants to retain those packages for compatibility with something else. I recently faced [a problem](https://github.com/brewsci/homebrew-base/issues/29) due to this. While `brewlog` cant prevent something like this from happening, but it logs `brew` activity so it is much easier to troubleshoot (by identifying what package(s) were added/removed).
### What can `brewlog` do ?
`brewlog` is simple solution that can:
+ log homebrew/linuxbrew activity (`STDOUT` and `STDERR`)
+ as it is a new command, the user still retains the freedom to run `brew [command] [formula]` and not log it to the file
+ tail the log file to display selected number of lines.
+ archive the log file (when user invokes the appropriate command).
+ a new log file is created the next time `brewlog` is invoked after archiving.
+ `log` homebrew/linuxbrew activity (`STDOUT` and `STDERR`) to a logfile (default: `~/Logs/brew.log`)
+ because brewlog is a a new command (and not an alias), the user still retains the freedom to run `brew [command] [formula]` in case they do not want to log some brew activity.
+ `tail` the `brew.log` file to display selected number of lines.
+ `archive` the brew.log file (user has to explicitly invoke this command to archive).
+ The `brew.log` is removed during archiving, a new log file is created on the next run of `brewlog`.
Now you'll be easily able to track the changes made by `brew upgrade`or `brew cleanup`.
Now you're easily able to track the changes made to your system while running `brew upgrade`or `brew cleanup`.
### How to use
```sh
# Review/Modify code
curl -sSL 'https://raw.githubusercontent.com/robocopAlpha/brewlog/master/install.sh'
# Install
curl -sSL 'https://raw.githubusercontent.com/robocopAlpha/brewlog/master/install.sh' | bash
# Show help
@ -39,6 +50,8 @@ brewlog info ffmpeg
brewlog list --multiple --versions
```
### Detailed usage
```
@ -69,10 +82,11 @@ Homebrew/Linuxbrew Function examples:
**Note:**
### Notice about the command `brew log`:
+ Not to be confused with `brew log` which shows the commit history (similar to `git log`).
+ I'm open to a new name, but for now as I personally dont use `brew log`, I had no “merge conflicts” in my brain while assigning `brewlog` to achive my desired result of logging brew output :) [*IMHO* `brew history` *might have been a better name for* `brew log`]
© Deepankar Chakroborty, 2020. All rights reserved.