Вход по сравнению с отладкой

Два вопроса после первого взгляда:

  1. URL-адреса неверны. Перейдите на панель ресурсов, чтобы получить правильные URL-адреса. Исправленный глюк:

https://glitch.com/edit/#!/sunny-ceramic?path=index.html:15:101

  1. Текстурные изображения отсутствуют BisonPlains_BaseColor.png

Первое, что я рекомендую, это проверить на панели сети браузера и найти 404 ошибки. Перед дальнейшим расследованием убедитесь, что все файлы загружены, как и ожидалось.

7
задан Adam Liss 6 March 2009 в 23:43
поделиться

5 ответов

Абсолютно самой valueable вещью, сделанной с любой платформой журналирования, является инструмент "с 1 щелчком", который собирает все журналы, и отправьте их по почте мне, даже когда приложение развертывается на машине, принадлежащей клиенту.

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

Как платформы я использовал стандарты (log4net, log4java, log4c ++)

НЕ реализуйте свою собственную платформу журналирования, когда уже будет хороший out-of-the-box. Большинство людей, которые действительно просто изобретают велосипед.

7
ответ дан 6 December 2019 в 06:25
поделиться

Не путайте Вход, Трассировку и Сообщение об ошибке, некоторые люди, которых я знаю, делают и это создает один адский файл журнала к grep через для получения информации, которую я хочу.

Если я хочу произвести в большом количестве все, я отделяюсь в следующее:

  • Трассировка-> Дампы каждое действие и шаг, к которому добавляют метку времени, с входными и выходными данными того этапа (самый ужасный и самый большой файл)
  • Регистрируясь-> Журнал, шаги бизнес-процесса только, клиент делает запрос так, регистрирует критерии запроса и выходные данные ничто больше.
  • Сообщение об ошибке / Отладка-> Исключения зарегистрировали детализацию, где это произошло, добавленное метку времени, данные ввода/вывода, если это возможно, информация о пользователе и т.д.

Тот путь, если какие-либо ошибки произошли и журнал Ошибки/Отладки, не содержит достаточно информации для моей симпатии, я могу всегда делать a grep -A 50 -B 50 'timestamp' tracing_file получить больше детали.

Править: Как был также сказан, придерживаясь стандартных пакетов как созданный в регистрирующемся модуле для Python, поскольку пример всегда хорош. Прокрутка Вашей собственной не является прекрасная идея, если язык не имеет один в, он - стандартная библиотека. Я действительно люблю переносить вход в систему небольшой функции, обычно берущей сообщение, и оцениваю за определение, которое регистрируется, это переходит в, т.е. 1 - трассировка, 2 - вход, 4 - отладка настолько передающего значения 7 спадов до всех 3 и т.д.

7
ответ дан 6 December 2019 в 06:25
поделиться

Я просто установил бы Вашу систему регистрации, чтобы иметь несколько регистрирующихся уровней, на сервисах я пишу, что у меня есть вход/аудит почти для каждого действия, и это присвоило контрольный уровень 1-5, чем выше число, тем больше событий аудита Вы получаете.

  1. Очень простой вход: запуск, остановка и перезапуск
  2. Основной вход: Обработка x количество файлов и т.д.
  3. Стандартный вход: Начало к Обработке, Законченной обработке, и т.д.
  4. Усовершенствованный вход: Начало и окончание каждого этапа в Обработке
  5. Все: каждые меры приняты

Вы устанавливаете контрольный уровень в файле конфигурации, таким образом, он может быть изменен на лету.

3
ответ дан 6 December 2019 в 06:25
поделиться

Некоторые общие эмпирические правила я нашел, чтобы быть полезным в приложениях серверной стороны:

  • требуемый - присваивают идентификатор запроса каждому входящему (HTTP) запрос и затем регистрируют это в каждую строку журнала, таким образом, Вы можете легко grep те журналы позже тем идентификатором и находить все соответствующие строки. Если Вы думаете, что это очень утомительно, чтобы добавить, что идентификатор к каждому оператору журнала, то, по крайней мере, платформы журналирования Java сделали это прозрачным с использованием Отображенного диагностического контекста (MDC).
  • возраженный - если Ваше приложение/сервис имеет дело с управлением некоторыми бизнес-объектами, которые имеют первичный ключ, затем полезно присоединить также что первичный ключ к диагностическому контексту. Позже, если кто-то идет с вопросом, "когда это было объектом, которым управляют?" Вы можете легко grep возраженным и видеть все записи журнала, связанные с тем объектом. В этом контексте (иногда) полезно на самом деле использовать Вложенный Диагностический Контекст вместо MDC.
  • когда зарегистрироваться? - по крайней мере, необходимо зарегистрироваться каждый раз, когда Вы пересекаете важную границу сервиса/компонента. Тем путем можно позже восстановить поток вызовов и выполнить развертку к конкретной кодовой базе, которая, кажется, вызывает ошибку.

Поскольку я - Java-разработчик, я также дам свой опыт с API Java и платформами.

API

Я рекомендовал бы использовать Простой Фасад Входа для Java (SLF4J) - по моему опыту, это - лучший фасад к входу:

  • полнофункциональный: это не следовало за подходом наименьшего-количества-общего-знаменателя (как вход свободного городского населения); вместо этого, это использует, ухудшают корректно подход.
  • имеет адаптеры для практически всех популярных платформ журналирования Java (например, log4j)
  • имеет решения в наличии о том, как перенаправить все устаревшие API входа (log4j, вход свободного городского населения) к SLF4J

Реализация лучшая реализация для использования с SLF4J является logback - записанный тем же парнем, который также создал SLF4J API.

3
ответ дан 6 December 2019 в 06:25
поделиться

Используйте существующий формат входа, такой как используемый Apache, и можно затем осуществить контрейлерные перевозки на многих инструментах, доступных для анализа формата.

0
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: