Ibatis sql语句、统计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;
}
}
分享到:
相关推荐
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
config.properties:数据库配置文件 log4j.properties:mybatis日志文件 spring-mvc.xml:spring-MVC配置文件 spring-mybatis.xml:mybatis的配置文件 spring.xml
2. **Log4j配置文件(log4j.properties或log4j.xml)** - 在Java项目中,通常会有一个log4j配置文件,用于定义日志记录的级别、输出方式和格式。 - 示例配置: ``` log4j.rootLogger=DEBUG, FILE log4j....
log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例
下面是一个较为完整的 Log4j2.xml 配置模板: ```xml <?xml version="1.0" encoding="UTF-8"?> <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration 后面...
spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
但是,如果我们想把 log4j.properties 文件放置在其它目录下,例如:WEB-INF 下和 web.xml 放在一起,这时候就需要我们手动指定 log4j 配置文件的路径,否则系统是找不到的。 在将 log4j.properties 文件放置在其它...
接着,要在Spring应用中使用Log4j,你需要在Spring的配置文件(如`applicationContext.xml`)中引入Log4j的依赖。通常,我们会在Spring的配置文件中定义一个Bean,让Spring自动初始化Log4j: ```xml ...
对于Web应用,如果你使用的是Spring Boot,可以在`src/main/resources`目录下创建`log4j2.xml`,因为Spring Boot默认使用Log4j2。配置方法类似,但需按照Log4j2的XML语法编写。 在实际开发中,我们可能需要根据不同...
在本节视频教程中,我们将深入探讨如何在Java项目中集成SSH(Struts、Spring、Hibernate)框架,并结合Maven构建工具以及Bootstrap前端框架,来添加和配置`log4j.properties`日志文件。这个过程对于任何Java开发人员...
ApplicationContext.xml 是 Spring 框架中用于配置应用程序的核心配置文件。通过该文件,可以定义 Bean、数据源、Session 工厂、 Hibernate 配置等相关信息,从而实现应用程序的自动装配和依赖注入。 一、XML 声明...
2. **配置文件**:创建`log4j.properties`或`log4j.xml`文件,定义日志级别和输出目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache....
log4j2-spring.xml配置文件
总之,将Spring的日志配置为Log4j,涉及到引入Log4j库、编写`log4j.properties`配置文件、以及在Spring配置文件中声明使用Log4j。理解这些步骤和配置项对于优化日志记录,排查问题以及监控系统运行状态至关重要。
在Spring 4.3.7版本中,配置Log4j主要是通过`log4j.properties`或`log4j.xml`文件完成的。这个文件通常位于项目的类路径下,以便于Spring在启动时自动加载。这里我们将重点关注`log4j.properties`文件的配置。 `log...
在项目中配置Log4j,通常需要一个配置文件(如log4j.properties或log4j.xml),定义日志输出的格式、级别和目标。例如,通过以下配置可以将日志信息写入名为"app.log"的文件: ```properties # log4j.properties ...
Log4j与其他框架如Spring、Struts等有良好的集成,可以方便地在这些框架中使用日志功能。此外,通过添加插件,还可以将日志信息发送到syslog、SMTP、JMS等其他目的地。 总结来说,Log4j 1.2.17作为一个成熟的日志...
3. **在Spring中使用Log4j**:在Spring配置文件(如`applicationContext.xml`)中,启用Log4j支持: ```xml <context:property-placeholder location="classpath:log4j.properties" /> ``` 4. **在代码中注入...