【Spring in action】SSM接入log4j日志
来源:互联网 发布:用的什么java工具 编辑:程序博客网 时间:2024/05/21 08:53
前言:
上篇文章 ssm框架已经搭建起来,并且可以通过Mybatis调用数据库,本文是基于上一文章的代码接入log4j日志(其实看不看都不重要,可以直接拿代码过来尝试接入)。
那么这篇文章,我开始接入log日志功能。后端如果没有日志,出错了找谁去呢?
一、导入jar包:
(jar包从哪来?Mybatis的jar包自带Log4j的各种jar包)
二、新建一个配置文件log4j.properties
配置代码如下:第三行起是控制台输出;第8行起是输出到本地绝对路径:
/Users/user/eclipse-workspace/logSpring/WebContent/WEB-INF/logs/error.log
log4j.rootLogger = debug , stdout , D log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = /Users/user/eclipse-workspace/logSpring/WebContent/WEB-INF/logs/error.log log4j.appender.D.Append = truelog4j.appender.D.Threshold = ERROR log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
三、在web.xml中配置Log4j
<!-- Log4j --><!-- Log4j配置文件 --><context-param><param-name>webAppRootKey</param-name><param-value>webapp.root</param-value></context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:conf/log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>1000</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener>
四、测试一下:
1、在conf文件夹下新建mybatis配置文件generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration> <!-- 数据库驱动--> <!-- <classPathEntry location="mysql-connector-java-5.1.18-bin.jar"/> --> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库链接URL,用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ebook" userId="root" password="haibo1118"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="com.model" targetProject="logSpring/src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="com.mapping" targetProject="logSpring/src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="logSpring/src"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> <table tableName="biquge" domainObjectName="Book" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>2、右键配置文件,生成三个文件。分别为Book.java,BookMapper.xml,BookMapper.java。具体代码就不写了。
3、然后新建service包,写一个接口对外:
package com.service;import com.model.Book;public interface IBookService {Book getBookById(String bookId); }
4、写一个实现类:
package com.service;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.dao.BookMapper;import com.model.Book;@Service("userService")public class BookServiceImpl implements IBookService{@Resourceprivate BookMapper bookDao;@Overridepublic Book getBookById(String bookId) {// TODO Auto-generated method stubreturn this.bookDao.selectByPrimaryKey(bookId);}}5、写一个Controller:
package com.controller;import java.io.IOException;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.alibaba.fastjson.JSONObject;import com.service.IBookService;@Controllerpublic class EbookController {@Resource private IBookService bookService = null; @RequestMapping(value="/b.do")public void addrShow(HttpServletResponse response) throws IOException{response.setContentType("application/json;charset=UTF-8");response.getWriter().write(JSONObject.toJSONString(bookService.getBookById("59cc3a7f3ea44b15c1f92ac0")).toString());}}测试一下。结果可以在本地绝对路径生成日志,控制台也能打印日志。
阅读全文
0 0
- 【Spring in action】SSM接入log4j日志
- 【ssm框架】配置log4j日志
- SSM项目中配置LOG4J日志
- SSM项目中使用Log4J日志
- Spring in action 读书笔记
- Spring in action
- Spring in Action
- Spring in Action
- Spring in action笔记
- 读书笔记:spring in action
- Spring in Action问题
- Spring in Action(摘抄)
- Spring in action Third
- Spring in action 笔记
- spring in action
- Spring In Action
- Spring in action 笔记
- Spring in action学习
- 关于phpstudy访问localhost不出现目录的问题
- ROS wiki learn 整理 1
- 体素化
- 测试同学拒绝被忽悠
- 机器学习中的二元分类问题
- 【Spring in action】SSM接入log4j日志
- 对称加密算法——DES算法(python实现)
- LayoutTransition的坑
- spring管理bean原理
- 验证表单不为空
- mysql使用load data infile的一些解决方法
- magento 商品列表排序
- 如何点击一个按钮 分别触发两个jquery事件
- 深度学习训练图片收集器——C++截图程序的实现2(键鼠钩子篇)