クラス ExceptionLoggingFilter
java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.terasoluna.gfw.web.exception.ExceptionLoggingFilter
- すべての実装されたインタフェース:
jakarta.servlet.Filter
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.EnvironmentAware
,org.springframework.core.env.EnvironmentCapable
,org.springframework.web.context.ServletContextAware
public class ExceptionLoggingFilter
extends org.springframework.web.filter.GenericFilterBean
Servlet filter class for log output of exception.
[applicationContext.xml]
define bean of custom ExceptionLogger and ExceptionLoggingFilter.
filter-class specify the 'org.springframework.web.filter.DelegatingFilterProxy', and fiter-name specify the bean name of ExceptionLoggingFilter.
This class outputs the log of exceptions which do not get handled by
HandlerExceptionResolver
of SpringMVC.
Must be specified in Servlet filter.
[Example of handling done in this class]
- Exceptions that occur in
View
(JSP
etc) - Exceptions that occur beyond the boundary of SpringMVC (
javax.servlet.Filter
etc). - Fatal errors that occur within the boundary of SpringMVC (classed inherited from
java.lang.Error
).
Example of the Settings for inject a custom ExceptionLogger
[applicationContext.xml]
define bean of custom ExceptionLogger and ExceptionLoggingFilter.
<bean id="exceptionLogger" class="org.terasoluna.gfw.common.exception.ExceptionLogger"> <!-- ... --> </bean> <bean id="exceptionLoggingFilter" class="org.terasoluna.gfw.web.exception.ExceptionLoggingFilter"> <property name="exceptionLogger" ref="exceptionLogger" /> </bean>[web.xml]
filter-class specify the 'org.springframework.web.filter.DelegatingFilterProxy', and fiter-name specify the bean name of ExceptionLoggingFilter.
<filter> <filter-name>exceptionLoggingFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter>
-
フィールドの概要
クラスから継承されたフィールド org.springframework.web.filter.GenericFilterBean
logger
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
doFilter
(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) Executes next filter.protected ExceptionLogger
Fetches logger object that outputs exceptionprotected void
Initializes the exception filter.protected void
logIOException
(IOException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs IOException.protected void
logRuntimeException
(RuntimeException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs RuntimeExceptionprotected void
logServletException
(jakarta.servlet.ServletException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs ServletExceptionvoid
setExceptionLogger
(ExceptionLogger exceptionLogger) Sets logger object for exception outputクラスから継承されたメソッド org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, setBeanName, setEnvironment, setServletContext
-
コンストラクタの詳細
-
ExceptionLoggingFilter
public ExceptionLoggingFilter()
-
-
メソッドの詳細
-
setExceptionLogger
Sets logger object for exception outputIf not set, default logger object for exception output is used.
- パラメータ:
exceptionLogger
- any exception logger.
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException Executes next filter. logs exception if exception is occurred.- パラメータ:
servletRequest
-ServletRequest
servletResponse
-ServletResponse
filterChain
-FilterChain
- 例外:
IOException
jakarta.servlet.ServletException
- 関連項目:
-
javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
-
initFilterBean
protected void initFilterBean() throws jakarta.servlet.ServletExceptionInitializes the exception filter.If exception logger object is not set, use
ExceptionLogger
.default exception logger's name is 'org.terasoluna.gfw.web.exception.ExceptionLoggingFilter'
(this interceptor's class name).- オーバーライド:
initFilterBean
クラス内org.springframework.web.filter.GenericFilterBean
- 例外:
jakarta.servlet.ServletException
- 関連項目:
-
GenericFilterBean.initFilterBean()
-
logIOException
protected void logIOException(IOException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs IOException.- パラメータ:
ex
- Exceptionrequest
- HTTP servlet requestresponse
- HTTP servlet response
-
logServletException
protected void logServletException(jakarta.servlet.ServletException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs ServletException- パラメータ:
ex
- Exceptionrequest
- HTTP servlet requestresponse
- HTTP servlet response
-
logRuntimeException
protected void logRuntimeException(RuntimeException ex, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) Logs RuntimeException- パラメータ:
ex
- Exceptionrequest
- HTTP servlet requestresponse
- HTTP servlet response
-
getExceptionLogger
Fetches logger object that outputs exception- 戻り値:
- logger object that outputs exception
-