|
|
|
jndi в log4j
|
|||
|---|---|---|---|
|
#18+
Добрый день Пытаюсь получить путь к файлам логов через jndi, как написано в документации log4j2 Путь должен отдавать WAS (Websphere Application Server). Там все прописано в namespace bindings Однако, получить значение никак не получается. Подебажив класс JndiLookup log4j2, было выявлено, что если в файле log4j2.xml значение для jndi будет указан вот в таком виде:${jndi:cell/persistent/test-jndi-name}, то из was нужное подтянется. Однако, тут есть загвоздка: log4j, формируя строку для lookup, добавляет к cell/persistent/test-jndi-name префикс java:comp/env. И выполняет, соответственно, код: Код: java 1. И это, вроде, выглядит, логичным, однако в этом случае я получаю ошибку: javax.naming.NamingException - Name comp/env/cell/persistent/test-jndi-name not Found in Context "java:" При этом вот такой код вполне бы отработал нормально: Код: java 1. Есть, конечно, обходной путь, чтобы log4j не добавлял java:comp/evn - это указать в jndi двоеточие (например, cell/persistent/test:name), так как в этом случае, согласно коду класса JndiLookup jndi останется без изменения: Код: java 1. 2. 3. 4. 5. 6. Однако, это кажется костылем и я не знаю, насколько правильно создавать такие имена. Хотелось бы понять, почему log4j в данном случае не принимает java:comp/env/cell/persistent/test-jndi-name и работает с cell/persistent/test-jndi-name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 22:26 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=44&tid=2121945]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
27ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 143ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...