Как создать файл журнала
Обновлено: 21.11.2024
Это руководство познакомит вас с методами записи журналов в файл в Python.
Запись журналов в файл с помощью модуля ведения журнала в Python
Журналы используются для отладки программы и выявления причин неполадок. Модуль logging используется для записи данных в файл в Python. Мы можем использовать функцию logging.basicConfig(), чтобы настроить журналы для записи в определенный файл. По умолчанию мы можем регистрировать 5 типов строк с помощью модуля ведения журнала. Эти типы сообщений включают отладку, информацию, предупреждение, ошибку и критическое. Тем не менее, мы можем увеличить это число до необходимого с помощью кодирования. В следующем примере кода показано, как записывать журналы в файл с помощью функции logging.basicConfig().
Содержимое файла logfile.log :
Мы записали сообщение журнала Наше первое сообщение журнала об ошибке уровня с правильной датой и временем регистрации с помощью функции logging.basicConfig() в приведенном выше коде. Самое главное при написании логов — это дата и время их возникновения. Итак, мы сначала создали формат для наших журналов внутри строки Log_Format. Этот формат включает уровень журнала, дату и время возникновения, а также записываемое сообщение.
Затем мы используем параметр имени файла функции logging.basicConfig(), чтобы указать файл журнала. Мы присвоили значение a параметру filemode функции logging.basicConfig(), чтобы открывать файл в режиме добавления, чтобы предыдущие журналы не удалялись каждый раз, когда появляется новый журнал. Затем мы устанавливаем параметр формата в Log_Format. После этого шага мы присвоили logging.ERROR параметру уровня, чтобы указать минимальный уровень журналов для ошибок. Мы создали объект журнала с logger = logging.getLogger() для записи сообщений журнала. В конце концов, мы написали сообщение об ошибке с помощью logger.error("Наше первое сообщение журнала").
Запись журналов в файл с помощью функции logging.FileHandler() в Python
Мы также можем использовать функцию logging.FileHandler() для записи журналов в файл в Python. Эта функция принимает путь к файлу, в который мы хотим записывать наши журналы. Затем мы можем использовать функцию addHandler(), чтобы добавить этот обработчик в наш объект регистратора. В приведенном ниже коде показано, как записывать журналы в файл с помощью функции logging.FileHandler().
Мы записали сообщение журнала Our First Log Message в файл logfile.log с помощью функции logging.FileHandler() в приведенном выше коде. Сначала мы создали объект регистратора, который будем использовать для записи журналов с помощью функции logging.getLogger(). Затем мы создаем обработчик файлов, handler и присваиваем ему logging.FileHandler('logfile.log'). После этого мы добавили этот новый обработчик в наш объект регистратора с помощью logger.addHandler(handler) . В конце концов, мы записали сообщение об ошибке в наш файл с помощью logger.error('Our First Log Message') .
Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».
Статья по теме — Ведение журнала Python
сообщить об этом объявлении
Брэди Гэвин
Брэди Гэвин
Писатель
Брэйди Гэвин уже 15 лет занимается технологиями и написал более 150 подробных руководств и пояснений. Он рассмотрел все, от взломов реестра Windows 10 до советов по браузеру Chrome. Брэди имеет диплом в области компьютерных наук в колледже Камосан в Виктории, Британская Колумбия. Подробнее.
Иногда лучший способ устранения неполадок операционной системы, приложения или службы – просмотреть файлы журналов, создаваемые приложением или службой в процессе своей работы. Но что такое LOG-файл и как посмотреть, что в нем содержится?
Что такое файл журнала?
LOG — это расширение файла для автоматически создаваемого файла, который содержит запись событий из определенного программного обеспечения и операционных систем. Хотя они могут содержать ряд вещей, файлы журналов часто используются для отображения всех событий, связанных с системой или приложением, которые их создали. Например, ваша программа резервного копирования может хранить файлы журналов, показывающие, что именно произошло (или не произошло) во время резервного копирования. Windows хранит всевозможные файлы журналов для различных служб.
Смысл файла журнала заключается в том, чтобы отслеживать, что происходит за кулисами, и если что-то произойдет в сложной системе, у вас будет доступ к подробному списку событий, которые произошли до неисправности. По сути, все, что, по мнению приложения, сервера или ОС, необходимо записать.
Хотя большинство файлов журналов имеют расширение .log, иногда приложения могут использовать расширение .txt или другое проприетарное расширение.
Как его открыть?
Поскольку большинство файлов журналов записываются в виде простого текста, их можно открыть с помощью любого текстового редактора. По умолчанию Windows будет использовать Блокнот, чтобы открыть файл журнала при двойном щелчке по нему.
Почти наверняка у вас уже есть встроенное или установленное в вашей системе приложение для открытия файлов LOG. Для начала, если у вас установлено какое-либо приложение для обработки текстов — Microsoft Word, LibreOffice, OpenOffice, Notepad++ и т. д., — вы можете открыть с его помощью файл LOG.
Если у вас нет текстового редактора, некоторые веб-браузеры также поддерживают просмотр файлов журналов. Все, что вам нужно сделать, это перетащить файл, который вы хотите открыть, на новую вкладку.
Ваш браузер отобразит все, что содержится в файле, на новой вкладке.
Если вы предпочитаете, чтобы файлы LOG открывались в программе, отличной от программы по умолчанию, вы можете изменить ее. Как в Windows, так и в macOS просто щелкните файл правой кнопкой мыши и выберите команду «Открыть с помощью», чтобы выбрать программу, которую вы хотите использовать.
Вот окно, которое появится в Windows (macOS аналогично) после того, как вы нажмете на него. Все, что вам нужно сделать, это выбрать программу, которую вы хотите использовать, выбрать «Всегда использовать это приложение для открытия файлов .LOG» и нажать «ОК».
Также имейте в виду, что некоторые операционные системы и приложения имеют собственные инструменты для просмотра генерируемых ими журналов. Например, события, зарегистрированные Windows и многими другими приложениями Windows, удобнее просматривать в средстве просмотра событий — инструменте, который позволяет вам искать и устранять неполадки, связанные со всевозможными проблемами Windows.
Типы файлов | |
Расширение | DAT · 7Z · XML · RTF · XLSX · WEBP · EPUB · MP4 · AVI · MOBI · SVG · MP3 · REG · PHP · LOG · PPTX · PDF · MPEG · WMA · M4V · AZW · LIT | tr>
- › 7 основных функций Microsoft Excel для составления бюджета
- › Что означает ИК и как вы его используете?
- › QWERTY-клавиатура — самая большая неразгаданная тайна технологий
- › 5 вещей, которые вы, вероятно, не знали о GIF-файлах
- › Matter — это долгожданный стандарт умного дома
- › Сколько оперативной памяти требуется вашему ПК?
Вместо того, чтобы бросать свои пользовательские журналы в огромную выгребную яму, которой является системный журнал, я хотел бы создать собственный файл журнала и автоматизировать ротацию для функции AWS CLI, которую я запускаю из cron.
Брайан Берроуз
Вместо того, чтобы бросать свои пользовательские журналы в огромную выгребную яму, которой является системный журнал, я хотел бы создать собственный файл журнала и автоматизировать ротацию для функции AWS CLI, которую я запускаю из cron.
Моей средой является Ubuntu Linux версии 18.04, но многие другие Linux будут такими же.
Выбор местоположения файла журнала
Перейдите в /var/log и получите команду LS. Вы можете увидеть что-то вроде этого:
Вам нужно будет решить, следует ли добавить данные в существующий файл, создать новый файл журнала в каталоге журналов или создать новый каталог. В моем случае мне может понадобиться больше журналов, связанных с резервными копиями в будущем, и я просто хочу быть особенным, поэтому я собираюсь создать каталог резервных копий.
Я не возражаю, если владельцем файла является root, так как это будет корневой процесс (root cron), который будет записывать в журнал.
Тестирование команды добавления вывода в журнал
На самом деле это полностью ваше дело, но убедитесь, что все, что вы добавляете в задание cron, было проверено вручную в командной строке от имени пользователя, для которого будет запускаться cron, так как по умолчанию это будет root. На самом деле я запускаю резервную копию AWS CLI в форме синхронизации с корзиной S3, но для простоты давайте воспользуемся следующими командами, создав дамп в новый файл журнала.
Я запускаю каждый из них от имени пользователя root, так как это пользователь cron, который будет выполнять задание. Я проверяю каталог журналов и просматриваю содержимое файла, который выглядит примерно так.
Хорошо. Отдельно я могу настроить запланированное задание, которое отправляет вывод в мой новый файл журнала.
Примечание. Также доступна команда logger, которая намного лучше подходит для встроенного ведения журнала. В моем случае я выбираю дамп стандартного вывода, так как он больше подходит для моей работы.
Автоматизация ротации пользовательского файла журнала
Теперь вы можете сбросить свой текст в файл журнала, зная, что служебные операции выполнены. Как всегда с автоматизацией, проверьте потом, все ли работает так, как ожидалось!
Основное фото предоставлено Алеся Кривец на Unsplash
Вы можете оставлять комментарии анонимно, но имейте в виду, что вы не будете получать уведомления об ответах!Регистрационные данные (которые крошечные) хранятся на моем частном сервере EC2 и никогда не разглашаются. Вы также можете использовать кредиты github.
Создание статического сайта с помощью S3, Cloudfront и Jekyll
Я экспериментировал со статическим сайтом, размещенным на AWS S3. Спустя несколько лет я решил сохранить основы блога в одном мегапосте и закрыть исходный сайт Wordcasa S3.
С помощью некоторых команд в меню "Запрос" редакторов SoundEditor и TextGridEditor можно записывать комбинированную информацию о времени, значениях высоты тона, формантах и интенсивности в информационное окно и в файл журнала.
Файл журнала — это текстовый файл на диске. Он состоит из ряда одинаковых строк, формат которых вы определяете с помощью настроек журнала в меню «Запрос».
Каждый раз, когда вы нажимаете F12 (или выбираете "Журнал 1" в меню "Запрос", Praat записывает строку в файл журнала 1. Если вы нажимаете Shift-F12, Praat записывает строку в файл журнала 2.
В командном окне настроек журнала вы определяете следующее:
Записывать 1 в информационное окно. Это определяет, будет ли ваша строка журнала записываться в информационное окно или нет. Журнал 1 в файл журнала определяет, будет ли ваша строка журнала записана в файл журнала или нет. Файл журнала 1 имя файла журнала. В Windows это должен быть полный путь, например C:\WINDOWS\DESKTOP\Pitch Log.txt. В Unix и macOS это может быть либо полный путь, например /home/mary/pitch_log или родственное имя, такое как ~/Desktop/Pitch log. Log 1 format формат строки, которую напишет Praat. См. ниже.
То же самое относится и к файлу журнала 2.
Использование
Функция ведения журнала была реализована в Praat специально для бывших пользователей Kay CSL, которые привыкли делать это в течение многих лет и хотели бы продолжать делать это в Praat. В противном случае вы можете предпочесть использовать TextGridEditor для отметки временных точек и последующего автоматического анализа.
Если вы хотите использовать средство ведения журнала, вы обычно начинаете с удаления любого старого файла журнала (выбирая Удалить файл журнала 1 или Удалить файл журнала 2), если вы хотите повторно использовать имя файла. В противном случае вы можете изменить имя файла журнала (в параметрах журнала. ). После этого вы будете перемещать курсор в разные временные точки и каждый раз нажимать F12 (или Shift-F12), чтобы информация о текущем времени записывалась в лог-файл.
Пример 1: регистрация презентаций
Предположим, вы хотите записать время нахождения курсора и значение высоты тона на курсоре. Вы можете использовать следующий формат журнала:
Время 'time:6' секунд, шаг 'f0:2' герц
Если вы сейчас нажмете на 3,456789876 секунд, а высота тона в это время будет 355,266 герц, в файл журнала и/или в информационное окно будет добавлена следующая строка:
Время 3,456790 секунды, высота тона 355,27 Гц.
Части ":6" и ":2" обозначают количество цифр после запятой. Если их не указывать, значения будут записываться с точностью до 17 цифр.
Слова «время» и «f0» означают то же самое, что и результат команд «Получить курсор» и «Получить шаг». Поэтому, если вместо установки линии курсора вы выбрали более крупную часть звука, «время» даст центр выделения, а «f0» даст среднюю высоту в выделении.
Остерегайтесь следующей ловушки: если ваши единицы измерения высоты тона не герцы, а полутона, то 'f0' даст результат в полутонах. Формат, как в этом примере, будет вводить в заблуждение.
Пример 2: формантное ведение журнала
Предположим, вы хотите зарегистрировать начало и конец выделения, его продолжительность и средние значения первых трех формант, разделенных позициями табуляции для упрощения импорта в Microsoft® Excel™. Вы можете использовать следующий формат журнала:
Вы видите, что «t1» и «t2» — это начало и конец выделения соответственно, и что они записываются с 4 цифрами после запятой. При использовании «:0» значения трех формант округляются до целых чисел в герцах. Слово tab$ – это табуляция.
Записываемые значения
В журнал могут записываться следующие значения:
'время': время курсора или центр выделения. 't1': начало выделения ("B"). 't2': конец выбора ("E"). 'dur': продолжительность выделения. 'freq': частота на частотном курсоре.'f0': высота тона во время курсора или средняя высота тона в выделении. 'f1', 'f2', 'f3', 'f4', 'f5': первая/вторая/третья/четвертая/пятая форманта в момент времени курсора или средняя первая/вторая/третья/четвертая/пятая форманта в выбор. 'b1', 'b2', 'b3', 'b4', 'b5': пропускная способность первой/второй/третьей/четвертой/пятой формант во время курсора или в центре выделения. 'Intensity': интенсивность в момент времени курсора или средняя интенсивность в выделении в дБ. 'мощность': спектральная мощность в месте пересечения курсора, в Па 2 /Гц. 'tab$': табуляция. 'editor$': заголовок окна редактора (т. е. имя видимого элемента Sound или TextGrid).
Больше гибкости в ведении журнала
Иногда вам может потребоваться информация в вашем файле журнала, которая не может быть сгенерирована напрямую с помощью указанных выше регистрируемых значений. Предположим, например, что вы хотите регистрировать значения для F1 и F2-F1 в точках, где вы щелкаете. Вы можете написать следующий скрипт:
f1 = Получить первую форманту
f2 = Получить вторую форманту
f21 = f2 - f1
appendInfoLine: fixed$ (f1, 0), " ", fixed$ (f21, 0)
appendFileLine: "D:\Praat logs\Formant log.txt", fixed$ (f1, 0), tab$, fixed$ (f21, 0)
С помощью этого скрипта информация будет добавляться как в информационное окно, так и в файл "Formant log.txt" на вашем рабочем столе.
Вы можете сделать этот сценарий доступным с помощью Option-F12 (или Command-F12), сохранив сценарий и указав имя файла сценария в поле Сценарий журнала 3 (или 4) в настройках журнала. окно.
Эти скрипты могут принимать аргументы. Предположим, например, что вы хотите указать символ гласной при нажатии Option-F12. Об этом позаботится следующий скрипт:
form Сохранить гласную и форманты
word Vowel a
endform
f1 = Получить первую форманту
f2 = Получить вторую форманту
f21 = f2 - f1
appendInfoLine: vowel$, " ", fixed$ (f1, 0), " ", fixed$ (f21, 0)
appendFileLine: "~/Praat logs/Vowels and formants log", vowel$, tab$ , фиксированный$ (f1, 0), вкладка$, фиксированный$ (f21, 0)
Остерегайтесь следующей ловушки: из-за природы сценариев вам не следует пытаться сделать это, когда у вас есть два окна редактора с одинаковыми именами. Я не могу предсказать, какое из двух окон ответит на запросы Get.
Когда вы начинаете работать с наборами данных, есть две записи и сохранения ваших команд и действий в Stata.
Создание do-файлов
Do-файлы позволяют записывать все ваши команды. Есть ряд преимуществ использования do-файлов. Используя do-файлы для запуска ваших команд, вы получаете копию того, что вы сделали, что позволяет вам и другим исследователям точно воспроизводить ваши анализы. Это также позволяет вам выполнять анализ без изменения исходного файла данных, пока вы не будете готовы сохранить чистый набор данных. Многие исследователи будут вести do-file, записывая управление данными (обращение к отсутствующим данным, обратная оценка, если необходимо, и т. д.), и могут иметь отдельные do-файлы для анализа окончательного набора чистых данных или подмножеств данных. Чтобы создать do-файл, вы можете либо перейти в «Файл» -> «Новый файл Do», либо использовать этот значок на панели инструментов в окне «Статистика».
Ваш новый файл do должен открыться в отдельном окне, которое выглядит следующим образом:
Еще один необязательный шаг, который может быть полезен при создании do-файлов, – это размещение комментария в верхней части файла, обозначающего, какие данные вы используете, и любые другие примечания, которые вам нужны. Чтобы отделить примечания и комментарии от команд в do-файлах, начните строку со звездочки. Если это более длинная заметка, вы можете выделить ее, набрав /* перед комментарием и */ после комментария. Например, если бы я использовал набор данных под названием «relate», я мог бы начать свой файл данных так:
Первая команда, которая вам понадобится, это команда use для указания файла, который вы хотите использовать для Stata. Если файл находится не в том рабочем каталоге, в котором вы сейчас находитесь, просто укажите, из какого каталога вы хотите извлечь файл. Вот три примера использования команды: один из набора данных в текущей рабочей папке, один из Интернета и один из переходного диска в другом рабочем каталоге. Обратите внимание, что в конце каждой команды я добавляю опцию clear. Это необходимо для очистки любых данных, с которыми в данный момент работает Stata.
После того, как я укажу файл данных, я ввожу остальные команды, которые хочу запустить. В этом файле Stata будет считать каждую строку новой командой, если вы не укажете иначе. Если у вас есть длинная команда, которая вам нужна в отдельных строках, добавьте /// в конце каждой строки. Это сообщает Stata, что следующая строка является частью той же команды.Когда я готов запустить анализы, я выбираю команды, которые я хотел бы запустить (вам не нужно выделять какой-либо текст, если вы хотите запустить их все) и нажимаю последний значок на панели инструментов в файле do. окно:
Чтобы сохранить do-файл, вы можете либо использовать значок на панели инструментов, либо использовать меню «Файл»->«Сохранить как», когда редактор do-файла активен.
Создание файлов журнала
Помимо записи всех ваших команд в do-файл, вы также можете сделать так, чтобы Stata создавала копии всего, что отправляется в окно результатов, за исключением графиков. Это называется файлом журнала и может помочь вам сохранить все ваши выходные данные. Это также сохранит ваши команды, хотя и не сохранит их так же, как это делает do-файл (они будут встроены в вывод). Чтобы создать файл журнала, перейдите в «Файл» -> «Журнал» -> «Начать». Появится диалоговое окно, в котором вы сохраните файл журнала. По умолчанию в Stata файл сохраняется с расширением .smcl. Это позволит вам открыть файл журнала в Stata, но другие программы не будут читать этот тип файла. Другое доступное расширение — .log. Этот формат файла позволит вам открывать файл журнала в других программах, и им может быть проще управлять, чем файлами .smcl. Чтобы сохранить его в виде файла .log, просто выберите параметр «Журнал статистики» в меню «Формат файла» в диалоговом окне.
После запуска файла журнала его можно в любой момент приостановить и возобновить позже. Сделать это можно, перейдя в «Файл» -> «Журнал» -> «Приостановить» (или «Возобновить»). Вы также можете закрыть свой журнал с помощью этого меню.
Вы также можете запускать, приостанавливать, возобновлять и закрывать журналы с помощью команды log. Я буду использовать эту команду, чтобы начать файл журнала, указать имя и местоположение файла, а также расширение. Если бы я собирался создать файл журнала под названием «creatinglogfiles» в файле на моем рабочем столе с именем «501» (путь к файлу: /Desktop/501), я бы набрал:
Я включил текст, потому что хочу, чтобы файл был файлом .log, а не файлом .smcl. Если бы я хотел перезаписать уже существующий файл, я бы добавил заменить после текста .
После того как файл журнала будет открыт, введите log off, чтобы приостановить файл журнала, log on, чтобы возобновить файл журнала, а log close, чтобы закрыть файл журнала.
Читайте также: