Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Logger for framework based on log4j with Tabs levels


(Mykhailo Poliarush) #1

Недавно начатая инициатива по созданию общего git репозитория наполняется первыми примерами

zevnull (увы не знаю названия аккаунта на at.info) поделился примером создания базового логгера для фреймворка на java на основе log4j

Присылайте свои pull request на https://github.com/atinfo/at.info-knowledge-base c примерами кода по автоматизации тестирования . Очень ждем и ценим каждый пример!


(Aleksey) #2

Может добавить требование в каждому подобному pull-реквесту еще описание зачем нужна та или иная фича, зависимости на библиотеки (здесь вот testNG специфичен, apache-commons можно считать почти стандартом :smile: )?

Не факт, что все подобные примеры будут идеальными и удобными для общего пользования (скорее всего это будет какой-то код со своего проекта) и для расшаривания примера его неплохо было бы адаптировать. Комментарии и замечания к коду постить на гит-хабе лучше?


(zevnull) #3

Ура. Я наконец-то зарегился … что-то мое мыло на gmail не проходило ( Пример может и специфичен, но по моему мнению вполне стандартен. Смысл всего этого врапера в том, что мне хотелось сделать легко читаемый лог и поместить сообщения логера(для каждого уровня) на свой уровень … выделяя уровни табами. В своим проектах, в основном, я использую 4ух уровневую модель фреймворка (Test - Flow - Page - Core)

в итоге получается вполне читаемый лог…

з.ы. не могу запостить пример так как тут удаляются табы ( Очень буду рад замечаниям и комментариям.


(Aleksey) #4

Желание вполне понятное, но все, что вы описали (насколько я понял, основная фича - разное формитирование для разных частей фреймворка) можно сделать на уровне конфигурации log4j без добавление класса-враппера.
Имхо, основное неудобство в подобного рода решениях - невозможность из лога понять какой метод залоггировал конкретное сообщение (“l” и “L” шаблоны в PatterLayout).


(zevnull) #5

Согласен, мой косяк в описании,экстрасенсы ушли в отпуск ((( Просто у меня своеобразное использование этого логера (про избыточность кода в курсе) - у меня каждый тест начинается и заканчивается с logger.methodStartted logger.methodFinished - и в логе видно, какой класс и метод залогировал действия.


(Максим Таран) #6

Это в смысле разный уровень будет иметь разные отступы? Можно ещё пример работы? Нагляднее будет. :smile:


(zevnull) #7

как-то так