Регистрация  |  Вход

Оставляете ли вы Дебаги в Проде?

Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче.

System.Debug('<<<<< что-то что-то >>>>>');

Спрашиваю "Зачем?"

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?

Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче. 

[code]System.Debug('<<<<< что-то что-то >>>>>');[/code]

Спрашиваю "Зачем?" 

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?

Den Brown
Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче.

System.Debug('<<<<< что-то что-то >>>>>');

Спрашиваю "Зачем?"

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?


Я использую свой логгер, который зависит от настроек окружения.
Считаю такой подод правильным.

[quote="Den Brown"]Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче. 

[code]System.Debug('<<<<< что-то что-то >>>>>');[/code]

Спрашиваю "Зачем?" 

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?[/quote]
Я использую свой логгер, который зависит от настроек окружения.
Считаю такой подод правильным.

Gres
Я использую свой логгер, который зависит от настроек окружения.

:o

[quote="Gres"]Я использую свой логгер, который зависит от настроек окружения. [/quote]
:o

Den Brown
Gres
Я использую свой логгер, который зависит от настроек окружения.

:o

В итоге имею сигнатуру, которая мне нравится и в любой момент могу отключить/включить логгирование на инстансе.

[quote="Den Brown"][quote="Gres"]Я использую свой логгер, который зависит от настроек окружения. [/quote]
:o[/quote]
В итоге имею сигнатуру, которая мне нравится и в любой момент могу отключить/включить логгирование на инстансе.

А ты только в debug log пишешь или еще отсылаешь ошибки себе скажем на почту или в какой-нибудь сервис?

А ты только в debug log пишешь или еще отсылаешь ошибки себе скажем на почту или в какой-нибудь сервис?

Den Brown
Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче.

System.Debug('<<<<< что-то что-то >>>>>');

Спрашиваю "Зачем?"

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?

Смотря какая ситуация какие условия работы на продакшене,мой текущий MVP пропускает такой дебаг лог в продакшен.Хотя команда говорит что так делать не красиво.Любом случае лучше иметь свой кастомный логгер,который автоматом отправляет ошибки если код падает,и если код не падатает полезно иметь чекбокс который включит логгер для теста.

[quote="Den Brown"]Вижу, что в чужом коде дебаги расставлены повсюду, в каждой ветке все мониториться, в каждом кетче. 

[code]System.Debug('<<<<< что-то что-то >>>>>');[/code]

Спрашиваю "Зачем?" 

Отвечают: "А как же мы поймем как код работает и куда пошел?"

так и отправляют его в Прод, оставляют Дебаги - чтоб можно было мониторить...

а я использую дебаги - по-минимому, только для разработки и отладки, а для Прода их почти все убираю.


а как правильно?[/quote]

Смотря какая ситуация какие условия работы на продакшене,мой текущий MVP пропускает такой дебаг лог в продакшен.Хотя команда говорит что так делать не красиво.Любом случае лучше иметь свой кастомный логгер,который автоматом отправляет ошибки если код падает,и если код не падатает полезно иметь чекбокс который включит логгер для теста.

Gres
Я использую свой логгер, который зависит от настроек окружения.
Считаю такой подод правильным.

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.

[quote="Gres"]Я использую свой логгер, который зависит от настроек окружения. 
Считаю такой подод правильным.[/quote]

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.

Maxim Elets
Gres
Я использую свой логгер, который зависит от настроек окружения.
Считаю такой подод правильным.

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.


Я их не храню.

[quote="Maxim Elets"][quote="Gres"]Я использую свой логгер, который зависит от настроек окружения. 
Считаю такой подод правильным.[/quote]

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.[/quote]
Я их не храню.

Dmitry Shnyrev
А ты только в debug log пишешь или еще отсылаешь ошибки себе скажем на почту или в какой-нибудь сервис?

Только в log, пока такой нобходимости не возникало, но это легко реализовать при необходимости.

[quote="Dmitry Shnyrev"]А ты только в debug log пишешь или еще отсылаешь ошибки себе скажем на почту или в какой-нибудь сервис?[/quote]
Только в log, пока такой нобходимости не возникало, но это легко реализовать при необходимости.

Maxim Elets
Gres
Я использую свой логгер, который зависит от настроек окружения.
Считаю такой подод правильным.

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.


Действительно, как можно было это прочитать как "я храню логи на проде"?)
Кастом лейбл DEBUG_MODE (при его отсутствии воспринимать как равный false) + Обертка над System.debug(...) творят чудеса)

[quote="Maxim Elets"][quote="Gres"]Я использую свой логгер, который зависит от настроек окружения. 
Считаю такой подод правильным.[/quote]

Сколько такие логи жрут места и как долго ты их хранишь? не каждый захочет платить за место для логов.[/quote]
Действительно, как можно было это прочитать как "я храню логи на проде"?)
Кастом лейбл DEBUG_MODE (при его отсутствии воспринимать как равный false) + Обертка над System.debug(...) творят чудеса)

А что вы делаете с логами внутри пакета? (если сталкивались)
Вроде логи из установленного пакета не попадают в общий лог?

А что вы делаете с логами внутри пакета? (если сталкивались)
Вроде логи из установленного пакета не попадают в общий лог?

RasMisha
Обертка над System.debug(...)

Не позволяет узнать строчку кода для которой вызывался дебаг. приходиться передавать доп параметр.

В перле например для этого есть чудный метод, зовется caller(step) step - глубина вложенности. вот по этому я сильно скучаю :(

[quote="RasMisha"]Обертка над System.debug(...)[/quote]

Не позволяет узнать строчку кода для которой вызывался дебаг. приходиться передавать доп параметр. 

В перле например для этого есть чудный метод, зовется caller(step) step - глубина вложенности. вот по этому я сильно скучаю :(

Dmitry Shnyrev
А что вы делаете с логами внутри пакета? (если сталкивались)
Вроде логи из установленного пакета не попадают в общий лог?

Тут лучшее решение, как уже и обсуждалось, кастомный объект + синхронизация с внешним сервером.

[quote="Dmitry Shnyrev"]А что вы делаете с логами внутри пакета? (если сталкивались)
Вроде логи из установленного пакета не попадают в общий лог?[/quote]
Тут лучшее решение, как уже и обсуждалось, кастомный объект + синхронизация с внешним сервером.

wilder
RasMisha
Обертка над System.debug(...)

Не позволяет узнать строчку кода для которой вызывался дебаг. приходиться передавать доп параметр.

В перле например для этого есть чудный метод, зовется caller(step) step - глубина вложенности. вот по этому я сильно скучаю :(


Ты хочешь получать стек-трейс в каждом логе?
У меня, например, отправляется имя текущего класса.

[quote="wilder"][quote="RasMisha"]Обертка над System.debug(...)[/quote]

Не позволяет узнать строчку кода для которой вызывался дебаг. приходиться передавать доп параметр. 

В перле например для этого есть чудный метод, зовется caller(step) step - глубина вложенности. вот по этому я сильно скучаю :([/quote]
Ты хочешь получать стек-трейс в каждом логе? 
У меня, например, отправляется имя текущего класса.

Да если и кастомное сообщение выкинуть в дебаг лог, то по нему очень просто найти место в исходниках, где оно находится. Но это скорее частный случай.

Да если и кастомное сообщение выкинуть в дебаг лог, то по нему очень просто найти место в исходниках, где оно находится. Но это скорее частный случай.

Dmitry Shnyrev
Да если и кастомное сообщение выкинуть в дебаг лог, то по нему очень просто найти место в исходниках, где оно находится. Но это скорее частный случай.

Кст, это еще можно автоматизировать с помощью API, так что wilder, все в твоих руках!

[quote="Dmitry Shnyrev"]Да если и кастомное сообщение выкинуть в дебаг лог, то по нему очень просто найти место в исходниках, где оно находится. Но это скорее частный случай.[/quote]
Кст, это еще можно автоматизировать с помощью API, так что wilder, все в твоих руках!

а есть какойто способ борьбы с размером лога? а то чем больше дебагов в лоу лвл методах тем быстрей он раскачивается
выставляю всё в error кроме собственно дебага, всё равно на пуске 1 теста больше 1.91 метра набегает.

про запись в объект знаю, попроще варианты есть? :D

а есть какойто способ борьбы с размером лога? а то чем больше дебагов в лоу лвл методах тем быстрей он раскачивается
выставляю всё в error кроме собственно дебага, всё равно на пуске 1 теста больше 1.91 метра набегает.

про запись в объект знаю, попроще варианты есть? :D

В новом релизе можно вообще отключить лог для определенных классов

В новом релизе можно вообще отключить лог для определенных классов

Андрей
а есть какойто способ борьбы с размером лога? а то чем больше дебагов в лоу лвл методах тем быстрей он раскачивается
выставляю всё в error кроме собственно дебага, всё равно на пуске 1 теста больше 1.91 метра набегает.

про запись в объект знаю, попроще варианты есть? :D


Совсем топорный метод это
System.debug(LoggingLevel.ERROR, <message>)
И везде уровень проставлять в ERROR :)

[quote="Андрей"]а есть какойто способ борьбы с размером лога? а то чем больше дебагов в лоу лвл методах тем быстрей он раскачивается
выставляю всё в error кроме собственно дебага, всё равно на пуске 1 теста больше 1.91 метра набегает.

про запись в объект знаю, попроще варианты есть? :D[/quote]
Совсем топорный метод это 
System.debug(LoggingLevel.ERROR, <message>)
И везде уровень проставлять в ERROR :)

wilder
В новом релизе можно вообще отключить лог для определенных классов

Давно уже можно.

[quote="wilder"]В новом релизе можно вообще отключить лог для определенных классов[/quote]
Давно уже можно.

Я только на входе новых методов оставляю LoggingLevel.INFO, чтобы можно было увидеть параметры при которых код упал.
А так, никаких логов в проде.
Ну опять, у меня уникальная ситуация, почти одни сервисы и все.

Я только на входе новых методов оставляю LoggingLevel.INFO, чтобы можно было увидеть параметры при которых код упал.
А так, никаких логов в проде.
Ну опять, у меня уникальная ситуация, почти одни сервисы и все.