Где находится лог-файл VLC для ошибок?

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

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

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

/ USR / бен / VLC

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

5 ответов

Решение

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

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

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

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

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

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

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

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

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

Чтобы добавить к тому, что сказал Paranoid Panda, вы также должны включить ведение журнала:

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

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

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

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

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

  • 0 = тихий

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

  • 2 = отладка

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

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

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

TL;DR: Попробуйте journalctl -r _COMM=vlc для современных дистрибутивов Linux на основе systemd по умолчанию (Ubuntu 15.04+), который включает jounrald в качестве общего приемника журналов для процессов, журналируемых через стандартный вывод, включая 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 -> Системный журнал (syslog)

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

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

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

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

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

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

sudo mkdir /var/log/vlc
sudo chown syslog:adm /var/log/vlc
sudo 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 file
if ($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
Другие вопросы по тегам