Где находится файл журнала VLC для ошибок?

Я попытался открыть blu-ray с помощью VLC, но получил это сообщение об ошибке:

VLC не может открыть MRL 'bluray:///dev/sr0'. Проверьте журнал для получения подробной информации.

Для получения дополнительной информации я должен прочитать журнал из VLC, но я не могу найти ни одного журнала, я нашел только с which vlc где находится vlc, а именно

/usr/bin/vlc

Я пошел туда, но не нашел файла журнала.

Вы можете установить местоположение файла журнала VLC непосредственно в клиенте, перейдя в параметры Tools -> Preferences -> Select "ALL" -> Advanced -> Logging. Вы также можете установить детализацию 0: silent, 1: error/info, 2: warning, 3: debug в зависимости от того, какой уровень информации вы хотели бы получить в файле журнала. Затем перезапустите VLC-клиент, чтобы изменения вступили в силу.

Спасибо Pananoid Panda и Kluegerama за предоставление подробностей, но я думаю, что этот ответ должен быть более кратким. Для тех из вас, кто хочет включить вход в VLC, следующие шаги подтверждены для работы на Mac, Linux и Windows.

На ПК перейдите к Инструменты> - Предпочтения>> - Нажмите кнопку "Показать все" (в левом нижнем углу всплывающего окна) - Передовой> - Дополнительные настройки> - Лесоруб. На Mac настройки находятся в меню VLC, остальное то же самое, что и для ПК.

  1. Установите флажок "Войти в файл". Укажите имя файла журнала там, где написано "Имя файла журнала", и нажмите кнопку обзор, чтобы указать местоположение файла журнала. Вы должны перейти к тому месту, где вы хотите, чтобы файл журнала находился, затем нажмите Сохранить (Выбрать на компьютере Mac).

  2. Выберите Текст для формата журнала.

  3. Установите детализацию на Отлаживать (вариант 2 в более старых версиях) - другие варианты - Информация, Предупреждение (оба варианта 1 в более старых версиях) и Ошибка. Параметр по умолчанию эквивалентен 0 в более старых версиях.

  4. Нажмите на Сохранить нажмите кнопку и выйдите из VLC.

  5. Перезапустите VLC.

Когда вы в следующий раз запустите VLC, он будет записывать все действия в указанный файл.

Чтобы добавить к тому, что сказал Параноидальный Панда, вы также должны включить регистрация:

Выберите раздел "Интерфейс" в настройках (после выполнения тех же инструкций для отображения всех настроек) и установите соответствующий флажок для "Войти в файл" и/или "Войти в системный журнал".

Прежде чем вы установите VLC для входа в файл, как описано в @AnotherLongUsername, VLC будет входить в /var/log/syslog. Этот файл является общим для многих различных приложений, поэтому вам придется искать "vlc" в этом файле, чтобы найти сообщения VLC.

Вы можете установить местоположение и уровень детализации для файла журнала VLC следующим образом:

  1. Выбрать ToolsPreferences из меню (или введите CTRL + P)
  2. В Show settings переключатели в левом нижнем углу окна настроек, нажмите "Все"
  3. Идти к AdvancedLogging в дереве настроек

Согласно справочной странице, это то, что означают различные уровни многословия:

  • 0 = бесшумный

  • 1 = информация/предупреждающие сообщения

  • 2 = отладка

TL;DR: Попробуйте journalctl -r _COMM=vlc для современных дистрибутивов Linux на базе systemd по умолчанию (Ubuntu 15.04+), которые включают jounraldв качестве общего приемника протоколирования для ведения журнала процессов через stdout, включая VLC.

Многие ответы выше полезны и информативны, у @ Zoltán был ответ, который работает для VLC, установленного через snap (sudo snap install vlc):

VLC будет входить в /var/log/syslog

Однако лучшим, более современным способом было бы использовать journalctl, отфильтрованный по команде vlc, например, последние 10 строк:

journalctl -r _COMM=vlc --lines 10 --no-pager

Следующий старый способ поиска в системном журнале работает достаточно хорошо, учитывая, что rsyslogd по умолчанию считывает journaldи регистрируется в /var/log/syslog:

grep vlc /var/log/syslog | tail

Вышеуказанные два варианта работали по умолчанию (для VLC snap 3.0.8 и Ubuntu 18.04.4 LTS), учитывая, что журналы процессов vlc записываются в stdout, и я предполагаю, что journald фиксирует stdout. Таким образом, оба следующих параметра, по умолчанию, могут оставаться непроверенными:

  • >>Дополнительно - Регистратор - Запись в файл
  • >>Дополнительно - системный журнал - Системный журнал (syslog)

Однако, если вы выполняете vlc непосредственно из терминала вместо gnome (или альтернативного) средства запуска рабочего стола, то потоки ввода-вывода stdout и stderr будут поступать на консоль терминала вместо journald. В таком случае может оказаться целесообразным включить любой из двух явных вариантов ведения журнала.

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

Если требуется специальный файл журнала, либо войдите в папку, в которую snap разрешено записывать (см. snap connections vlc, где я заметил, что такие места, как ваш домашний каталог, могут быть записаны). Запись непосредственно куда-либо в /var/log, вероятно, будет запрещена.

По умолчанию (в Ubuntu 18.04) journaldне сохраняет события при перезагрузках, но это делает системный журнал. При желании можно явно включить сохранение событий journald'а.

Запись VLC в файл напрямую, похоже, не помещает временные метки в прямой файл журнала, в то время как journaldи syslog включают временные метки для того, когда было сгенерировано событие.

До тех пор, пока сообщество Linux не будет полностью готово принять journald (с сохранением) вместо системного журнала, они сосуществуют, поэтому устаревшим способом решения этой проблемы * nix было бы настроить rsyslog для перенаправления журналов VLC в отдельное расположение журнала. Например. создайте каталог с соответствующими разрешениями:

sudo mkdir /var/log/vlcsudo chown syslog:adm /var/log/vlcsudo chmod ug+rwX,o-rwx /var/log/vlc/

Добавьте конфигурационный файл в rsyslog, например, по адресу /etc/rsyslog.d/30-vlc.conf:

# filter out and move various VLC snap messages to it's own log fileif ($programname == 'vlc' or $programname == 'vlc_vlc.desktop') then{  action  ( name="cntlm_log_file"    type="omfile"    file="/var/log/vlc/vlc.log"    fileCreateMode="0640"    fileOwner="syslog"    fileGroup="adm"  )  # don't log events to the system's default syslog file  stop}

Перезапустите службу: sudo systemctl restart rsyslog

Также обязательно настройте logrotate, например, чтобы чередовать еженедельно и сохранять 12 недель, создайте файл /etc/logrotate.d/vlc следующим образом:

/var/log/vlc/*.log{    rotate 12    weekly    missingok    notifempty    compress    delaycompress    sharedscripts    postrotate        invoke-rc.d rsyslog rotate >/dev/null 2>&1 || true    endscript}

Счастливого ведения журнала...

Если вы пытаетесь что-то транслировать, и вы получаете сообщение об ошибке "не удается открыть "какое-то устройство"", то вам необходимо установить vlc-plugin-access-extra:

sudo apt-get install vlc-plugin-access-extra

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

  1. Откройте окно сообщений (ToolsMessages, также доступный через Ctrl-M).
  2. В нижней части окна включите подробный вывод (часто достаточно уровня по умолчанию (ошибки).
  3. Снова откройте исходный код и найдите все, что выделяется в окне журнала.
  4. Если вы не можете найти ничего очевидного, попробуйте установить для него значение "предупреждения", а затем снова откройте исходный код.

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

Похоже, что по умолчанию ведение журнала не включено. Вы можете сэкономить много времени, перейдя прямо к ответу @ klugerama: log - Where is the VLC logfile for errors? - Ask Ubuntu