Проблема может заключаться в том, что WebSphere 6.1 использует Jakarta Commons Logging (JCL) для внутреннего использования, и если любой из вашего кода или сторонних библиотек также использует JCL, конфигурация WebSphere конфликтует с вашим приложением, пытающимся использовать log4j. Если это происходит, вы увидите именно то, что видите.
Существует несколько ссылок и сообщений в блоге , которые описывают способы решения этой проблемы. Мы нашли самое простое - создать файл с именем org.apache.commons.logging.LogFactory
в каталоге META-INF/services
вашего веб-приложения (в корне архива WAR). Этот файл должен содержать строку:
org.apache.commons.logging.impl.Log4jFactory
(По крайней мере, в более новых версиях WebSphere ...) Другой ключ заключается в том, что файл JCL должен быть загружен из того же места, что и файл log4j. например либо из WEB-INF / lib, либо из общей библиотеки. Таким образом, вы не можете вернуться к загрузке JCL из собственной предоставленной копии WebSphere. Если они загружены различными загрузчиками классов , они не могут нормально видеть друг друга.