2011-08-09 5 views
1

Eclipse Helios (3.6.2)와 Spring MVC 3 + Spring Security 3 + GAE를 사용하고 있습니다. 문제는 Spring Security로부터 아무 것도 로그 할 수 없다는 것입니다. 오류는 없지만 로깅은 전혀 없습니다. 나는 액세스가 거부되거나 사용자가 자동으로 로깅 할 수 없을 때 Eclipse 콘솔에 내 사건이 아닌 디버그 메시지를 표시해야한다는 것을 읽었습니다.Spring Security 3 로깅이 Eclipse의 GAE에서 작동하지 않습니다.

전쟁/WRB-INF/web.xml을

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <display-name>ABM Monotributistas</display-name>  

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/securityContext.xml</param-value> 
    </context-param> 

    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <!-- Enable Spring Security debug logging --> 
    <listener> 
     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    </listener> 
    <!-- Bootstrap listener to start up Spring's root WebApplicationContext --> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    </listener> 
    <!-- For concurrent session-control support --> 
    <listener> 
     <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class> 
    </listener> 
    <!-- MVC --> 
    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/servletContext.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 

SRC/log4j.properties

# A default log4j configuration for log4j users. 
# 
# To use this configuration, deploy it into your application's WEB-INF/classes 
# directory. You are also encouraged to edit it as you like. 

# Configure the console as our one appender 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n 

# tighten logging on the DataNucleus Categories 
log4j.category.DataNucleus.JDO=WARN, A1 
log4j.category.DataNucleus.Persistence=WARN, A1 
log4j.category.DataNucleus.Cache=WARN, A1 
log4j.category.DataNucleus.MetaData=WARN, A1 
log4j.category.DataNucleus.General=WARN, A1 
log4j.category.DataNucleus.Utility=WARN, A1 
log4j.category.DataNucleus.Transaction=WARN, A1 
log4j.category.DataNucleus.Datastore=WARN, A1 
log4j.category.DataNucleus.ClassLoading=WARN, A1 
log4j.category.DataNucleus.Plugin=WARN, A1 
log4j.category.DataNucleus.ValueGeneration=WARN, A1 
log4j.category.DataNucleus.Enhancer=WARN, A1 
log4j.category.DataNucleus.SchemaTool=WARN, A1 

#Spring security debug logging 
log4j.logger.org.springframework.security = DEBUG, A1 

전쟁/WRB-INF/로깅 다음은 설정입니다. 속성

# A default java.util.logging configuration. 
# (All App Engine logging is through java.util.logging by default). 
# 
# To use this configuration, copy it into your application's WEB-INF 
# folder and add the following to your appengine-web.xml: 
# 
# <system-properties> 
# <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> 
# </system-properties> 
# 

# Set the default logging level for all loggers to WARNING 
.level = WARNING 

답변

1

내 프로젝트 내에 "applicationContext-security.xml"구성 파일이 있습니다. (스프링 보안을 적절하게 설정해야만한다고 가정합니다)

로그인이 성공하거나 거부되었을 때 콘솔에 출력하는 다음 코드가 있습니다.

<!-- Automatically receives AuthenticationEvent messages --> 
<b:bean id="loggerListener" class="org.springframework.security.authentication.event.LoggerListener"/> 

나는 이것이 당신이 원하는 것입니다.

관련 문제