- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
set +x
for file in ./*.{status,addr2Line,sysctlLog,procLog}
do
if [ -f "./$file" ]
then
echo -e "\n\n \e[1m### Failure info: \e[34m$file\e[0m\e[1m ###\e[0m"
cat ./$file | sed -e 's/^host: \(.*\)/host: \x1b[1m\x1b[44m\1\x1b[0m/' \
-e 's/^\(.*PANIC:\)/\x1b[1m\x1b[31m\1/' \
-e 's/^\(.*Use the following command for more stack info:\)/\x1b[0m\1/'
fi
done
guest 21.03.2016 23:43 # +1
ты что, "termcap & terminfo" не читал?
wvxvw 22.03.2016 00:06 # 0
Что как бы не отменяет говнистости. Код какбы предназначается для раскраски логов Дженкинса. Потому что у этой замечательной Ява-программы столько опупенных возможностей красиво отформатировать лог. (Ну можно, конечно плагин написать, но проебаться неделю с плагином, или потратить полчаса на sed - оно того не стоит).
guest 22.03.2016 00:32 # 0
Ты получаешь от него какой-то лог, красишь слово "PANIC" в красное посредством эск-последовательностей, и эти последовательности тебе не нравятся. Ну это вопрос к DEC, они придумали эти последовательности.
А если бы это был не ява-программа Дженкнис, а си программа apache, тебе легче было бы чтоли красить лог?
Вообще скажи спасибо что консоличка в юниксе понимает эск последовательности
Потому что в винде, например, не понимает
Нужен Console API
wvxvw 22.03.2016 10:01 # 0
Но без того, чтобы запустить этот код с подходящим вводом понять что именно он делает сложно.
Дженкинс тут при том, что нужно как-то работать с тем, что он выводит в лог, т.как если сборка или тесты зафейлились, или во время тестов / сборки были какие-то важные сообщения, то их нужно найти, выделить, сделать удобным для людей их читающих навигацию к коду который эти сообщения выдал и т.д. Но при том что Дженкинс - это огромная программа, которая делает очень простую вещь, таких жизненно необходимых вещей в нем нет, и более простой способ их прикрутить - это какая-то возня с ВТ100 кодами, вместо высокоуровневого АПИ.
roman-kashitsyn 22.03.2016 11:30 # 0
Наверняка можно писать логи в каком-нибудь XML, который можно потом раскрасить и отформатировать как угодно XSLT-преобразованием, или просто тупо написать кастомный JUL log-record форматтер.
wvxvw 22.03.2016 11:46 # 0
grcat немножнко улучшит этот код, но фактически ничего не изменится. Мне не важно, чтобы лог был какого-то определенного цвета. Мне важно, чтобы его можно было найти. Т.е. в идеале, я бы изначально подготовил лог, например, записав в него такую необычную информацию как info/debug/error/warn, а уж женкинс бы это подсветил / спрятал / показал / послал по почте и т.д.
roman-kashitsyn 22.03.2016 12:03 # 0
Я не специалист в женкинсах, но вроде тут
https://wiki.jenkins-ci.org/display/JENKINS/Logging
написано, что можно наваять пару строк на груви и добавить какой угодно хэндлер, включая встроенный xml-логгер из стандартной библиотеки
http://docs.oracle.com/javase/6/docs/api/java/util/logging/XMLFormatter.html
wvxvw 22.03.2016 12:57 # 0
guest 22.03.2016 14:03 # 0
а на чем в Яше CI?
wvxvw 22.03.2016 11:52 # 0
Но оно работает построчно (т.е. если выделение со строки х по строку у, то уже облом).
guest 22.03.2016 14:03 # 0
Не нравится тебе возня с кодами? Бери писточник или перл, там можно это превратить в нормальную структуру данных, и раскрасить оттуда же через ncurses
Сделаешь утилиту, опубликуешь ее на гитхабе, будешь молодец
guest 16.04.2016 11:12 # 0
journald только что насрал тебе за шыворот
dxd 16.04.2016 12:21 # +2
bormand 16.04.2016 12:55 # 0
guest 16.04.2016 14:32 # 0
лучше расслабься и получай удовольствие
скоро он будет везде
roman-kashitsyn 22.03.2016 11:24 # 0
Да и sed-ом можно чуть более читабельно через tput выставлять.
guest 16.04.2016 00:54 # 0
kegdan 16.04.2016 07:55 # +1
Это что, когда баба с бабой?