Задать вопрос
@n199a
Java

Как правильно составить путь до файла?

Имеется такая структура проекта:
608025635e383462550022.jpeg

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

Что я предпринял:
Прописал путь такого вида:
log/$${date:dd:MM:yyyy}/log-$${date:dd:MM:yyyy-HH:mm}.txt


Но IntellijIDEA выбрасывает исключение:
ERROR FileManager (log/21:04:2021/log-21:04:2021_15:58.txt) java.io.IOException: The filename, directory name, or volume label syntax is incorrect


В официальной документации Log4J 2 сказано, что
fileName String The name of the file to write to. If the file, or any of its parent directories, do not exist, they will be created.
что означает, если файл отсутствует по заданному пути, он будет создан. По каким правилам тогда задается путь?

Вопрос:
Что неправильного в моём пути к файлу, в который будут писаться логи?
  • Вопрос задан
  • 883 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
java.io.IOException: The filename, directory name, or volume label syntax is incorrect

имя файла, имя директории, или имя тома некорректно.

В официальной документации Log4J 2 сказано, что

fileName String The name of the file to write to. If the file, or any of its parent directories, do not exist, they will be created.

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

Отлично, но есть еще ограничения имен самой ОС и\или ФС в ней.
В Windows это \/:*?<>"|
Также есть ограничения и в самих словах и по ссылке выше найдете и их.
В общем это не проблема самой java, и вообще не проблема, это ограничения ФС и ОС.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Предположу, что нужно писать ./log/...
Ответ написан
@Deiwan
Если в одном пакете то импорт не нужен, а если не в одном то через import пакет.директория.файл или* чтобы все импортировать, а если в другом месте то полный путь типо ДИСК:\общий_пакет\пакет\директория\файл для импорта
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы