Spring log4j.xml
Ibatissql语句、统计url与controller之间的映射关系统计日志
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <appender name="IBatis" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> </layout> <!--限制输出级别--> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="DEBUG" /> </filter> </appender> <appender name="UrlControllerMapping" class="org.apache.log4j.FileAppender"> <param name="file" value="d:/TestUrlControllerMapping.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <logger name="UrlControllerMappingStatistics" additivity="true"> <level value="INFO" /> <appender-ref ref="UrlControllerMapping" /> </logger> <logger name="cn.org.fds" additivity="true"> <level value="DEBUG" /> </logger> <logger name="com.ibatis" additivity="true"> <level value="DEBUG" /> </logger> <logger name="java.sql.Connection" additivity="true"> <level value="DEBUG" /> </logger> <logger name="java.sql.Statement" additivity="true"> <level value="DEBUG" /> </logger> <logger name="java.sql.PreparedStatement" additivity="true"> <level value="DEBUG" /> <appender-ref ref="IBatis" /> </logger> <logger name="java.sql.ResultSet" additivity="true"> <level value="DEBUG" /> <appender-ref ref="IBatis" /> </logger> <!-- 3rdparty Loggers --> <logger name="org.springframework.core"> <level value="info" /> </logger> <logger name="org.springframework.beans"> <level value="info" /> </logger> <logger name="org.springframework.context"> <level value="info" /> </logger> <logger name="org.springframework.web"> <level value="info" /> </logger> <!-- Root Logger --> <root> <priority value="warn" /> <appender-ref ref="console" /> </root> </log4j:configuration>
在java中直接用logger
package edu.gd.commons; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.log4j.Logger; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.InitializingBean; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping; /** * url与controller之间的映射关系统计 * * * */ @Component public class UrlControllerMappingStatistics implements BeanFactoryAware, InitializingBean { private static final Logger logger = Logger .getLogger("UrlControllerMappingStatistics"); private BeanFactory beanFactory; public void afterPropertiesSet() throws Exception { DefaultAnnotationHandlerMapping handlerMapping = beanFactory .getBean(DefaultAnnotationHandlerMapping.class); Map<String, Object> handlerMap = handlerMapping.getHandlerMap(); Collection<Object> controllers = handlerMap.values(); Set<Object> controllerSet = new HashSet<Object>(controllers); for (Object obj : controllerSet) { Class<?> controllerClass = obj.getClass(); Method[] methods = controllerClass.getMethods(); for (Method m : methods) { RequestMapping rm = m.getAnnotation(RequestMapping.class); if (rm != null) { logger.info("URL = " + Arrays.toString(rm.value()) + ", ControllerClass = " + obj.getClass() + ", Method = " + m.getName()); } } } } public void setBeanFactory(BeanFactory beanFactory) throws BeansException { this.beanFactory = beanFactory; } }
相关推荐
chw0 2020-11-04
大唐帝国前营 2020-08-18
sdaq 2020-07-26
MrLiar 2020-07-07
sdaq 2020-06-16
CXC0 2020-06-14
丨Fanny丨Cri 2020-06-13
CXC0 2020-06-08
dongxurr 2020-06-07
sdaq 2020-06-06
MrLiar 2020-06-04
丨Fanny丨Cri 2020-06-03
MrLiar 2020-05-25
丨Fanny丨Cri 2020-05-17
MrLiar 2020-05-14
MrLiar 2020-05-12
sdaq 2020-05-11