Где находится лог-файл 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, остальное такое же, как и на ПК.
Установите флажок "Записать в файл". Укажите имя файла журнала, в котором указано "Имя файла журнала" и нажмите кнопку обзора, чтобы указать местоположение файла журнала. Вы должны перейти туда, где вы хотите, чтобы файл журнала был, а затем нажмите " Сохранить" (выберите на Mac).
Выберите текст для формата журнала.
Установите для многословия значение " Отладка" (вариант 2 в более старых версиях) - другими параметрами являются "Информация", "Предупреждение" (оба варианта 1 в более старых версиях) и "Ошибка". Параметр по умолчанию эквивалентен 0 в более старых версиях.
Нажмите кнопку Сохранить и выйдите из VLC.
Перезапустите VLC.
Когда вы в следующий раз запустите VLC, он будет записывать все действия в указанный файл.
Чтобы добавить к тому, что сказал Paranoid Panda, вы также должны включить ведение журнала:
Выберите раздел "Интерфейс" в "Настройках" (следуя тем же указаниям для отображения всех настроек), и отметьте соответствующие пункты "Журнал в файл" и / или "Журнал в системный журнал".
Прежде чем вы установите VLC для входа в файл как описано @AnotherLongUsername, VLC будет входить в /var/log/syslog
, Этот файл используется многими различными приложениями, поэтому вам придется искатьvlc
"чтобы найти сообщения VLC.
Вы можете установить местоположение и уровень многословия для файла журнала VLC следующим образом:
- Выбрать
Tools
→Preferences
из меню (или введите CTRL + P) - в
Show settings
переключатели в левом нижнем углу окна настроек, нажмите "Все" - Идти к
Advanced
→Logging
в дереве настроек
Согласно справочной странице, это то, что означают различные уровни многословия:
0 = тихий
1 = информация / предупреждающие сообщения
2 = отладка
Вам не нужно включать ведение журнала только для того, чтобы видеть одноразовые сообщения об ошибках.
- Откройте окно сообщений (Tools→ Messages, также доступно через Ctrl-M).
- Внизу окна включите подробный вывод (часто бывает достаточно уровня по умолчанию (ошибки).
- Снова откройте исходный код и найдите все, что выделяется в окне журнала.
- Если вы не можете найти ничего очевидного, попробуйте установить для него "предупреждения", а затем снова откройте исходный код.
Вы также можете попробовать настроить его на отладку, если хотите, но в большинстве случаев это даст вам больше информации, чем то, что вам нужно.
TL;DR: Попробуйте journalctl -r _COMM=vlc
для современных дистрибутивов Linux на основе systemd по умолчанию (Ubuntu 15.04+), который включает jounrald в качестве общего приемника журналов для процессов, журналируемых через стандартный вывод, включая VLC.
Многие ответы выше полезны и информативны, у @Zoltán был ответ, который работает для VLC, установленного через snap (sudo snap install vlc
):
Однако более современным способом было бы использовать 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