Springboot入门日志管理和缓存支持

来源:互联网 发布:java中间件 pdf 编辑:程序博客网 时间:2024/06/07 10:10

一、日志管理

①添加log4j配置文件

#log4j.rootLogger=CONSOLE,info,error,DEBUGlog4j.rootLogger=info,error,CONSOLE,DEBUGlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender     log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout     log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n     log4j.logger.info=infolog4j.appender.info=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.info.layout=org.apache.log4j.PatternLayout     log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  log4j.appender.info.datePattern='.'yyyy-MM-ddlog4j.appender.info.Threshold = info   log4j.appender.info.append=true   #log4j.appender.info.File=/home/admin/pms-api-services/logs/info/api_services_infolog4j.appender.info.File=/Users/dddd/Documents/testspace/pms-api-services/logs/info/api_services_infolog4j.logger.error=error  log4j.appender.error=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.error.layout=org.apache.log4j.PatternLayout     log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  log4j.appender.error.datePattern='.'yyyy-MM-ddlog4j.appender.error.Threshold = error   log4j.appender.error.append=true   #log4j.appender.error.File=/home/admin/pms-api-services/logs/error/api_services_errorlog4j.appender.error.File=/Users/dddd/Documents/testspace/pms-api-services/logs/error/api_services_errorlog4j.logger.DEBUG=DEBUGlog4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout     log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  log4j.appender.DEBUG.datePattern='.'yyyy-MM-ddlog4j.appender.DEBUG.Threshold = DEBUG   log4j.appender.DEBUG.append=true   #log4j.appender.DEBUG.File=/home/admin/pms-api-services/logs/debug/api_services_debuglog4j.appender.DEBUG.File=/Users/dddd/Documents/testspace/pms-api-services/logs/debug/api_services_debug

②使用aop统一处理web请求日志

添加pom依赖

<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-aop</artifactId></dependency>

写一个专门处理的工具类

@Aspect@Componentpublic class WebLogAspect {    private Logger logger = LoggerFactory.getLogger(getClass());    @Pointcut("execution(public * cn.iponkan.controller..*.*(..))")    public void webLog() {    }    @Before("webLog()")    public void doBefore(JoinPoint joinPoint) throws Throwable {        // 接收到请求,记录请求内容        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();        HttpServletRequest request = attributes.getRequest();        // 记录下请求内容        logger.info("URL : " + request.getRequestURL().toString());        logger.info("HTTP_METHOD : " + request.getMethod());        logger.info("IP : " + request.getRemoteAddr());        Enumeration<String> enu = request.getParameterNames();        //记录其他参数值        while (enu.hasMoreElements()) {            String name = (String) enu.nextElement();            logger.info("name:{},value:{}", name, request.getParameter(name));        }    }    @AfterReturning(returning = "ret", pointcut = "webLog()")    public void doAfterReturning(Object ret) throws Throwable {        // 处理完请求,返回内容        logger.info("RESPONSE : " + ret);    }}

二、缓存支持

①pom依赖

 <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-cache</artifactId> </dependency>

②ehcahe配置文件

<?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"updateCheck="false"><diskStore path="java.io.tmpdir/Tmp_EhCache" /><!-- 默认配置 --><defaultCache maxElementsInMemory="5000" eternal="false"timeToIdleSeconds="120" timeToLiveSeconds="120"memoryStoreEvictionPolicy="LRU" overflowToDisk="false" /><cache name="baseCache" maxElementsInMemory="10000"maxElementsOnDisk="100000" /></ehcache>
③Mapper层添加缓存依赖注解

@CacheConfig(cacheNames = "baseCache")public interface UserMapper{    @Cacheable    User getName(@Param("name")String name);}

④启动类中开启缓存

@EnableCaching//开启缓存

⑤清除缓存

@Controllerpublic class Indexcontroller {    @Autowired    private CacheManager cacheManager;    //清除缓存    @ResponseBody    @RequestMapping("/removeCache")    public  String removeCache(){        cacheManager.getCache("baseCache").clear();        return "success";    }}

原代码:https://github.com/tangqiangDong/Springboot点击打开链接

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩子不肯睡觉怎么办 不会睡觉怎么办 老人坐高铁无身份证怎么办 老年人坐高铁怎么办 坐飞机紧张怎么办 焦虑症坐飞机怎么办 火车想多坐一站怎么办 孩子小想坐火车怎么办 断奶胀痛怎么办 坐飞机很怕怎么办 宝宝不肯坐飞机怎么办 儿童坐飞机难受怎么办 六岁儿童发烧怎么办 未成年出国旅游怎么办 高烧41度怎么办 感冒坐飞机耳鸣怎么办 孕妇坐飞机晕机怎么办 儿童坐飞机哭闹怎么办 儿童 怎么办临时身份证 登机忘带身份证怎么办 儿童怎么办登机牌 坐动车迟到了怎么办 拖欠款不还怎么办 账本丢失怎么办 拖欠广告费怎么办 北京二孩上户口怎么办 高考志愿落选怎么办 飞卢怎么办vip 水彩纸被扣破了怎么办 身体有白斑怎么办 ps2017打不开怎么办 画布脏了怎么办 圆钻都粘一起了怎么办 油画总是不干怎么办 水粉颜料发霉怎么办 水粉画颜料变硬怎么办 画板搞到颜料怎么办 指甲油干了怎么办 没有头发怎么办 小猫不让吹风怎么办 油画不干怎么办包装