由于公司的服务访问量巨大,导致日志文件特别大,但是这些日志也没什么价值,考虑针对部分访问取消日志打印

复盘

项目使用的是jpress,中间转手好多人,没有文档,都不清楚项目结构

先在项目中搜索日志的几个关键字;都没搜到,但是发现

有个配置setDevMode,将这个设置为false,所有日志不打印了,不符合需求

还有一个配置

activeRecordPlugin.setShowSql(false);

这个原本也是根据DevMode,直接设置为false,sql确实不打印了,不符合需求

然后看了一下项目的结构,找了一下配置类和拦截器 过滤器

发现

JpressConfig186行
public void configInterceptor(Interceptors interceptors) {interceptors.add(new JI18nInterceptor());interceptors.add(new GlobalInterceptor());interceptors.add(new AdminInterceptor());interceptors.add(new HookInterceptor());
}
JpressConfig186行
public void configHandler(Handlers handlers) {handlers.add(new ActionCacheHandler());handlers.add(new JHandler());handlers.add(new ActionCacheHandler());MyDruidStatViewHandler druidViewHandler = new MyDruidStatViewHandler();handlers.add(druidViewHandler);
}

有几个拦截器,查看对应的拦截器代码,没找到对应的日志

一个一个测试:注释掉某个拦截器,查看日志是否有变化,经测试日志和拦截器无关

然后查看handler代码,没发现相关逻辑,就再次采用注释处理器的方式一个一个尝试,发现注释掉

MyDruidStatViewHandler不打日志,就断点调试,发现是

猜测可能的地方,然后打断点调试

发现是MyDruidStatViewHandler中
next.handle(target, request, response, isHandled);在打日志

next的class是ActionHandler

去查看ActionHandler代码发现是调用ActionReporter打印的日志

直接重写ActionReporter类加入需要的逻辑即可

ps:sql打印也可以去掉

主要是根据配置类中setDevMode

ps2:mac不能直接查看类的方法,但是同事的mac可以,公司台式机也是可以,有时间探究下原因

jpress日志输出控制相关推荐

  1. Linux 日志输出控制

    在嵌入式Linux设备中,系统资源比较有限,在产品开发时我们会打印很多的日志信息方便工程调试和问题定位.但是在产品发布的时候,为了节省系统资源,那些调试信息或是一些不总要的信息就不需要再记入到日志当中 ...

  2. FFMPEG 日志输出控制

    原文:https://blog.csdn.net/tea1896/article/details/48310579 1. FFMPEG 编码速度很慢,发现其中打印很多.因为打印是一个执行比较慢的动作, ...

  3. tomcat日志输出控制

    当禁用tomcat管理页面时,但是在服务器从启动时,在tomcat默认的/aliyun/tomcat7/logs/ 存放日志的目录下依然还会生成关于host-manager,manager的日志文件, ...

  4. C语言日志级别和作用,自己写的C语言通用日志框架,可以控制日志输出等级

    /************************************c语言通用日志框架************************************ * * @author 南栀(ke ...

  5. 细粒度控制Grails程序的日志输出

    标准的Grails是配置了日志输出的,但是,无法满足我们的需求.理想状态是想输出谁的日志,想输出哪个级别,就输出谁,就输出哪个级别.而且,不同的程序的日志应该有区分度,不能都叫一个名字. 首先,log ...

  6. Android系统10 RK3399 init进程启动(十八) isLoggable日志级别输出控制

    配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 在编写 ...

  7. python日志输出到屏幕,python日志写入文件

    python日志输出到屏幕,python日志写入文件 日志 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选 ...

  8. .NET Core的日志[2]:将日志输出到控制台

    对于一个控制台应用,比如采用控制台应用作为宿主的ASP.NET Core应用,我们可以将记录的日志直接输出到控制台上.针对控制台的Logger是一个类型为ConsoleLogger的对象,Consol ...

  9. Srping Boot日志输出(转)

    说明:其实经过研究,在最新版本的Spring Boot中默认使用的是logback进行日志输出,其余的都没有引入.但是网上的教程说只要按照下面的文件列表引入对应的配置文件就会进行输出,这个没有实践过, ...

最新文章

  1. android 获取网卡mac_防亚马逊账号关联黑科技--如何修改我们的网卡MAC到底重要不?...
  2. OneHotEncoder独热编码和 LabelEncoder标签编码——机器学习
  3. 618 大促背后的淘系前端技术体系
  4. 数据批量导入Oracle数据库
  5. 服务器lunix系统开启多用户,Ubuntu 服务器设置软件多用户访问
  6. 解决Hbase报错java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for....
  7. eclipse编辑器未包含main类型_Shopify模版编辑器问题排查及解决办法汇总
  8. .NET 对接JAVA 使用Modulus,Exponent RSA 加密
  9. Python稳基修炼的经典案例13(计算机二级、初学者必会的字符文件处理)
  10. java中String类的用法
  11. 爬取 wallhaven图片到本地壁纸库
  12. [教程]centos卸载、安装mysql(源码编译安装方式)
  13. linux下的终端利器----tmux
  14. 【TWVRP】基于matlab遗传算法求解带时间窗的车辆路径问题【含Matlab源码 002期】
  15. python下载腾讯视频_使用python 下载 mp4格式的腾讯视频
  16. 求助,关于MFC中的 Secur32.lib问题
  17. 如何使用Visual Studio调试Windows Vista侧栏小工具
  18. 电脑磁盘右键没有新建文件夹???
  19. HTML+CSS 登录界面设计
  20. Linux系统中使用Nginx实现反向代理

热门文章

  1. 测试路由和设备连接速度的软件,如何检测自家路由器的速度和性能 这几个方法简单又好用...
  2. Android常用文件夹
  3. eclipse使用教程_Eclipse系列的隐藏宝藏– 2019年版
  4. android 打电话例子
  5. 数字货币区块链服务器交易平台面临着哪些安全威胁?
  6. CAN矩阵、CAN网络、DBC、MDF关系
  7. 牛市来了?这几款开源项目让你的交易更加得心应手
  8. 重看《我爱我家》:一部电视剧背后的当代史
  9. 看美剧没有字幕很不方便,用这个简直不用太爽!自动实时翻译英语视频
  10. linux基础学习6