spirngMVC如何在项目中打印异常日志+springmvc事务控制详解
来源:互联网 发布:校园寝室网络设计方案 编辑:程序博客网 时间:2024/06/07 13:31
首先 service层的增、删、改操作前要加注解@Transactonal,如下
@Transactionalpublic void saveErpProductType(ErpProductType erpProductType) {erpProductTypeDao.saveOrUpdate(erpProductType);}这样,当此方法出现异常时,会抛出异常,在Controller层捕获,此时,在Controller层就需要用try和catch处理,使数据库不不发生事务,如下
private static final Logger log = Logger.getLogger(ProductTypeAction.class);//括号里ProductTypeAction.class是当前Controller类@RequiresPermissions(value = { "1465801690631" })@RequestMapping(value = "/saveProductType")public ModelAndView validateTypeName(HttpServletRequest request, HttpServletResponse response) throws Exception {// 类型ErpProductType erpProductType = new ErpProductType();String typeName = request.getParameter("typeName").trim();erpProductType.setTypeCode(erpProductTypeService.getMaxProductTypeFromMemory());erpProductType.setTypeName(typeName);ErpUser loginUser = (ErpUser) request.getSession().getAttribute(Constant.USER);String marketNo = loginUser.getMarketNo();try {erpProductTypeService.saveErpProductType(erpProductType); // 存入数据库LoadOnStartService.erpProductTypeTable.put(erpProductType.getId(), erpProductType); // 更新内存LoadOnStartService.refreshMarketDataTable(marketNo, Constant.ONE);JSONObject jsonObject = new JSONObject();jsonObject.put("msg", "保存成功");response.getWriter().write(jsonObject.toString());return null;} catch (Exception e) {log.info(e.getMessage());JSONObject jsonObject = new JSONObject();jsonObject.put("msg", "保存失败");response.getWriter().write(jsonObject.toString());return null;}}
另外,就是log的配置文件了,如下是xml方式,网上还有propertis的配置方式
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'><!-- 根logger的设置 OFF,ERROR,WARN,INFO,DEBUG --><root><priority value="INFO" /><appender-ref ref="CONSOLE" /><appender-ref ref="myFile" /></root><appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern"value="%d - %c -%-4r [%t] %-5p %x - %m%n" /></layout><!--限制输出级别--><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="LevelMax" value="ERROR" /><param name="LevelMin" value="TRACE" /></filter></appender><appender name="myFile"class="org.apache.log4j.DailyRollingFileAppender"><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMin" value="info" /><param name="levelMax" value="error" /><param name="AcceptOnMatch" value="true" /></filter><param name="File" value="${erp.root}/logs/today.log" /><!-- 设置日志输出文件名 --><param name="Append" value="true" /><param name="DatePattern" value="'.'yyyy-MM-dd" /><param name="MaxBackupIndex" value="10" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern"value="[%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c] %m%n" /></layout></appender></log4j:configuration>
0 0
- spirngMVC如何在项目中打印异常日志+springmvc事务控制详解
- 我在项目中Springmvc处理异常并记录日志(一) ps:如何有更好的方法,请写到评论中多多交流,谢谢!
- 我在项目中Springmvc异常日志处理(二) ps:如何有更好的方法,请写到评论中多多交流,谢谢!
- logback的使用和logback.xml详解,在Spring项目中使用log打印日志
- 在Java项目中如何使用log4j和slf4j实现日志打印
- 如何将异常打印到日志文件中
- 实际springMVC项目中自定义异常、spring事务与异常的简单应用
- springmvc项目log4j日志不打印
- 在java项目中打印sql语句日志
- 在日志中如何打印文件、行号、方法名
- 如何在Objective-C中打印日志记录
- 日志如何打印异常堆栈信息。
- sqlyog中如何控制事务
- spirngmvc.一:SpringMVC 配置
- SpirngMVC异常处理
- 日志中不打印异常堆栈
- log4j 打印异常日志到文件中
- ios开发中打印日志消息控制
- 143、约瑟夫问题
- HDU 3853 LOOPS
- 介绍27款经典的CSS框架
- DES加密解密C/C++
- android程序中的AndroidManifest.xml中的uses-feature详解
- spirngMVC如何在项目中打印异常日志+springmvc事务控制详解
- iOS dispatch_time_t
- MAC 下使用 Sublime Text 3 添加Perl编译支持
- java中的CountDownLatch
- NodeJS学习三之API
- 300. Longest Increasing Subsequence(C++实现)
- 国标28181sip开源库介绍(陆续补充完备)
- MySQL日期查询:本周、本月、本季、本年
- HDU 4405 Aeroplane chess