Я думаю, что лучший способ - подготовить свой код для легкого перехода из среды разработки в производственную среду, возможно, используя входной параметр при запуске приложения go.
Вы можете создать уровень variuos бревен:
«Всегда» бревном уровень
Этот уровень журнала всегда включен, дает важную информацию о состоянии приложения (при необходимости). Также сообщайте об авариях.
«тестирование» журнал Уровень
Этот журнал содержит полезную информацию, когда ваш код закончен, но у вас есть, чтобы проверить информацию больше не полезно, когда код на производстве
«Debug» log level
Этот уровень журнала содержит полезную информацию, когда вы находитесь в среде разработки, разрабатываете новые функции или оптимизируете уже существующий код
Лучший способ сделать это, на мой взгляд, с помощью chan s, которые позволяют вам создавать демон async и регистрировать везде, где вы хотите, что хотите.
Вы можете прочитать некоторую информацию о chan here.
Примером демона может быть:
func daemonLogging(importantMessage chan error, testingMessage chan error,debugMessage chan error){
for{
if globalDebugFlag == true{
// Log debug message
}
if globalTestingMessage == true{
// Log Testing message
}
// Log important message
}
}
Не забудьте вызвать эту функцию с go
ключевого слова
Я думаю, что это не важно , что пакет, который вы используете (если у вас нет необходимости), но важно как Вы принимаете решение о регистрации ваших сообщений
Не знаете, почему форматирование кода не работает, я пытался его исправить несколько раз. –
Трудно ответить на это, не зная больше о вашем приложении. Приведенный выше код допустим в некоторых ситуациях, а не в других. –
Обратите внимание, что последовательность «print and exit» выполняется с использованием 'set.sys.fatal *()' функций. – kostix