Два вопроса после первого взгляда:
https://glitch.com/edit/#!/sunny-ceramic?path=index.html:15:101
BisonPlains_BaseColor.png
Первое, что я рекомендую, это проверить на панели сети браузера и найти 404 ошибки. Перед дальнейшим расследованием убедитесь, что все файлы загружены, как и ожидалось.
Абсолютно самой valueable вещью, сделанной с любой платформой журналирования, является инструмент "с 1 щелчком", который собирает все журналы, и отправьте их по почте мне, даже когда приложение развертывается на машине, принадлежащей клиенту.
И сделайте хороший выбор в том, что зарегистрироваться так, можно примерно следовать за основными трактами в приложении.
Как платформы я использовал стандарты (log4net, log4java, log4c ++)
НЕ реализуйте свою собственную платформу журналирования, когда уже будет хороший out-of-the-box. Большинство людей, которые действительно просто изобретают велосипед.
Не путайте Вход, Трассировку и Сообщение об ошибке, некоторые люди, которых я знаю, делают и это создает один адский файл журнала к grep через для получения информации, которую я хочу.
Если я хочу произвести в большом количестве все, я отделяюсь в следующее:
- Трассировка-> Дампы каждое действие и шаг, к которому добавляют метку времени, с входными и выходными данными того этапа (самый ужасный и самый большой файл)
- Регистрируясь-> Журнал, шаги бизнес-процесса только, клиент делает запрос так, регистрирует критерии запроса и выходные данные ничто больше.
- Сообщение об ошибке / Отладка-> Исключения зарегистрировали детализацию, где это произошло, добавленное метку времени, данные ввода/вывода, если это возможно, информация о пользователе и т.д.
Тот путь, если какие-либо ошибки произошли и журнал Ошибки/Отладки, не содержит достаточно информации для моей симпатии, я могу всегда делать a grep -A 50 -B 50 'timestamp' tracing_file
получить больше детали.
Править: Как был также сказан, придерживаясь стандартных пакетов как созданный в регистрирующемся модуле для Python, поскольку пример всегда хорош. Прокрутка Вашей собственной не является прекрасная идея, если язык не имеет один в, он - стандартная библиотека. Я действительно люблю переносить вход в систему небольшой функции, обычно берущей сообщение, и оцениваю за определение, которое регистрируется, это переходит в, т.е. 1 - трассировка, 2 - вход, 4 - отладка настолько передающего значения 7 спадов до всех 3 и т.д.
Я просто установил бы Вашу систему регистрации, чтобы иметь несколько регистрирующихся уровней, на сервисах я пишу, что у меня есть вход/аудит почти для каждого действия, и это присвоило контрольный уровень 1-5, чем выше число, тем больше событий аудита Вы получаете.
Вы устанавливаете контрольный уровень в файле конфигурации, таким образом, он может быть изменен на лету.
Некоторые общие эмпирические правила я нашел, чтобы быть полезным в приложениях серверной стороны:
Поскольку я - Java-разработчик, я также дам свой опыт с API Java и платформами.
API
Я рекомендовал бы использовать Простой Фасад Входа для Java (SLF4J) - по моему опыту, это - лучший фасад к входу:
Реализация лучшая реализация для использования с SLF4J является logback - записанный тем же парнем, который также создал SLF4J API.
Используйте существующий формат входа, такой как используемый Apache, и можно затем осуществить контрейлерные перевозки на многих инструментах, доступных для анализа формата.