log4j.logger.org.jcp.xml.dsig.internal=DEBUG
log4j.logger.com.sun.org.apache.xml.internal.security=DEBUG
log4j.logger.ru.CryptoPro.JCPxml.dsig.internal=DEBUG
log4j.logger.ru.CryptoPro.JCPxml.dsig.internal.dom=DEBUG
log4j.logger.ru.CryptoPro.JCP=DEBUG
barbitoff programmer`s blog
Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)
Показаны сообщения с ярлыком log4j. Показать все сообщения
Показаны сообщения с ярлыком log4j. Показать все сообщения
понедельник, 7 сентября 2015 г.
Настройки log4j для отладки формирования и валидации XMLDSig средствами КриптоПро JCP
пятница, 19 июня 2015 г.
WSO2 ESB 4.8.1: логирование работы Entitlement-медиатора
В log4j.properties шины достаточно добавить строчку:
log4j.logger.org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator=DEBUGпосле чего в логах шины появится достаточно отладочной информации, чтобы понять, что происходит внутри медиатора:
TID: [0] [ESB] [2015-06-19 15:16:41,294] DEBUG {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} - Mediation for Entitlement started {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator}
TID: [0] [ESB] [2015-06-19 15:16:41,295] DEBUG {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} - Subject ID is : ***** Resource ID is : /services/***** Action ID is : ****. {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator}
TID: [0] [ESB] [2015-06-19 15:16:41,993] DEBUG {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} - Entitlement Decision is : Deny {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator}
TID: [0] [ESB] [2015-06-19 15:16:41,993] DEBUG {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} - User is not authorized to perform the action {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator}
суббота, 1 июня 2013 г.
Отладка конфигурации log4j
Включается системным свойством log4j.debug, например, при старте jvm:
-Dlog4j.debug
Бывает крайне полезна, чтобы, скажем, понять, откуда из classpath log4j цепляет свой log4j.properties.
вторник, 11 декабря 2012 г.
WSO2 ESB: раздельная настройка логирования для разных прокси-сервисов
В WSO2 ESB можно разделить логи, относящиеся к разным прокси-сервисам. Для этого нужно в файл настройки логирования (repository/conf/log4j.properties) добавить следующее:
log4j.category.SERVICE_LOGGER.MyProxy=FATAL, MYPROXYADAPTER, где "MyProxy" - имя прокси-сервиса, для которого настраивается логирование. Конфигурация аппендера может быть любой другой, здесь я её привел просто для примера.
log4j.additivity.MYPROXYADAPTER=false
log4j.appender.MYPROXYADAPTER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MYPROXYADAPTER.File=${carbon.home}/repository/logs/custom/MyProxy.log
log4j.appender.MYPROXYADAPTER.Append=true
log4j.appender.MYPROXYADAPTER.layout=org.apache.log4j.PatternLayout
log4j.appender.MYPROXYADAPTER.layout.ConversionPattern=%d{HH:mm:ss,SSS}%n%m%n
вторник, 17 июля 2012 г.
org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
Часа полтора ушло на казалось бы простейшую проблему: использовать apache commons logging в связке с log4j. Проблема была в следующем: в веб-приложении, разворачиваемом на Tomcat 6, имеются файлы конфигурации commons-logging и log4j со следующим содержимым:
commons-logging.properties:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.properties:
log4j.debug=false
log4j.rootLogger=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%-4r [%t] %-5p %c %x - %m%n
Первый конфигурационный файл должен подхватываться commons-logging`ом самостоятельно как первый с таким именем в CLASSPATH, путь ко второму указывается явно в web.xml. Сами jar-ники commons-logging-1.1.1.jar и log4j-1.2.15.jar в /WEB-INF/lib приложения лежат. Однако при попытке чтобы то ни было залогировать в веб-приложении валится исключение:
org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
Как оказалось, проблема была в следующем: commons-logging-1.1.1.jar лежал также и в %JAVA_HOME%/jre/lib/ext (так уж получилось, что он залетел туда при установке КриптоПРО JCP). Поэтому и загружался этот jar-ник не тем класслоадером, что и остальные либы веб-приложения, и jar-ника log4j в /WEB-INF/lib ему было не видно. Выход - либо закинуть jar-ник log4j туда же в %JAVA_HOME%/jre/lib/ext, либо - удалить оттуда commons-logging-1.1.1.jar (в моем случае - не вариант, т.к. нарушило бы работу JCP).
в
16:26:00
0
коммент.
Отправить по электронной почтеНаписать об этом в блогеПоделиться в XОпубликовать в FacebookПоделиться в Pinterest
Ярлыки:
CLASSPATH,
commons-logging,
J2EE,
Java,
JDK,
log4j,
LogConfigurationException,
logging,
org.apache.commons.logging.impl.Log4JLogger cannot be found or is not useable,
Tomcat,
Tomcat 6
вторник, 29 мая 2012 г.
Включение логирования в Spring Security
Чтобы включить логирование в Spring Security, необходимо настроить commons-logging и log4j (наверное, можно и без log4j, воспользовавшись другими возможностями commons-logging, но я сделал так). Для этого нужно (на примере проекта веб-приложения в NetBeans):
- Во-первых, подключить к проекту jar-ник commons-logging и log4j (в моему случае это были commons-logging-1.1.1.jar и log4j-1.2.17.jar).
- Добавить в проект properties-файл commons-logging.properties, поместив его в src/java, со следующим содержанием:
- Добавить в проект properties-файл настройки log4j. Я положил его в src/java, назвав log4j.properties. Содержимое файла следующее (для Debug-уровня логирования):
log4j.rootLogger=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%-4r [%t] %-5p %c %x - %m%nВ форматах паттернов особенно не разбирался, используется паттенн из мануала log4j (http://logging.apache.org/log4j/1.2/manual.html). В принципе, можно выполнить настройку отдельно для разных логгеров, используемых спрингом, заменив строку:log4j.rootLogger=DEBUG, console
на строкиlog4j.logger.org.springframework.web.context.support.StandardServletEnvironment=DEBUG, console
и др. для остальных логгеров. Какие именно логгеры использует спринг, станет понятно из лога log4j, который будет ругаться на ненастроенные для какого-либо логгера аппендеры:log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
Но я это делать не стал.
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. - Добавить в web.xml приложения настройку пути к файлу конфигурации log4j и listener, инициализирующий log4j:
<context-param>
Всё, теперь логов будет хоть отбавляй =).
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
UPDATE:
Если валится исключение org.apache.commons.logging.LogConfigurationException, возможно, поможет это: http://barbitoff.blogspot.com/2012/07/orgapachecommonslogginglogconfiguration.html.
Подписаться на:
Сообщения (Atom)