Mirki, które są zaznajomione z #bash i #linux - potrzebuję pomocy/sugestii.
Mam dosyć rozrośnięty (1000+ linii). Chciałbym dorzucić opcję generowania logów. Generalnie chciałbym output wypluwać na ekran jak i do pliku.
Czy znacie jakiś trick, żeby skrypt to robił? Bez uruchamiania go w sposób ./skrypt.sh | tee -a logfile.
Nie chcę też dodawać do każdej komendy wewnątrz skryptu | tee -a logfile. Raz, że jest to bardzo nieeleganckie. Dwa, że sprawiło mi już kiedyś psikusa w połączeniu z $? i trochę wynikło z tego stresu :)
Czy jest jakiś sposób, żeby skrypt robił logowanie automatycznie?
@maisterwihaister: Będę testował, chociaż na pierwszy test wygląda, że działa.
Póki co załatwiłem temat trochę naokoło. Jako, że 99% wyświetlanych rzeczy to output z printfa, napisałem sobie wrappera:
function my_printf { printf "$1" printf "date "+%Y/%m/%d %H:%M:%S" $1" >> $LOGFILE } Dzięki temu plik z logiem ma też znaczniki czasowe, potencjalnie przydatne. Jedyny mankament, to że teraz mój IDE nie koloruje mi tak ładnie składni, więc trochę mniej przyjemne dla
Mirki, jest jakieś picie najlepiej bez cukru albo w miarę mało, które da się pić i nie kosztuje fortuny? Ice tea zero bardzo dobre ale 6-7 zł za 1.5 litra to troche sporo
Mam dosyć rozrośnięty (1000+ linii). Chciałbym dorzucić opcję generowania logów. Generalnie chciałbym output wypluwać na ekran jak i do pliku.
Czy znacie jakiś trick, żeby skrypt to robił? Bez uruchamiania go w sposób
./skrypt.sh | tee -a logfile.Nie chcę też dodawać do każdej komendy wewnątrz skryptu
| tee -a logfile.Raz, że jest to bardzo nieeleganckie.
Dwa, że sprawiło mi już kiedyś psikusa w połączeniu z
$?i trochę wynikło z tego stresu :)Czy jest jakiś sposób, żeby skrypt robił logowanie automatycznie?
A, nie zauważyłem że ma być i na ekran i do pliku. To nie wiem, może coś da się zrobić ale mi nie przychodzi do głowy teraz
Komentarz usunięty przez moderatora
exec > >(tee $LOG_FILE) 2>&1https://stackoverflow.com/a/49514467
Póki co załatwiłem temat trochę naokoło.
Jako, że 99% wyświetlanych rzeczy to output z printfa, napisałem sobie wrappera:
function my_printf {date "+%Y/%m/%d %H:%M:%S"printf "$1"
printf "
$1" >> $LOGFILE}
Dzięki temu plik z logiem ma też znaczniki czasowe, potencjalnie przydatne.
Jedyny mankament, to że teraz mój IDE nie koloruje mi tak ładnie składni, więc trochę mniej przyjemne dla