Idea live template

1:打印入参日志的配置

复制代码
log.info("$methodName$ 方法入参: $argsLog$",$argsJson$);

methodName:methodName()

argsLog:groovyScript( "def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { result+= params[i] + ((i < params.size() - 1) ? ':[{}], ' : ':[{}]') }; return result" , methodParameters())

argsJson:groovyScript(" def result=''; def types = 'String,int,Integer,long,Long,float,Float,double,Double,byte,Byte,short,Short,char,Char,boolean,Boolean'; def params=\"{_1}\\".replaceAll('\[\\\\\\\\\[\|\\\\\\\\\]\|\\\\\\\\s\]','').split(',').toList(); def paramTypes=\\"{_2}\".replaceAll('[\\\\[|\\\\]|\\\\s]','').split(',').toList(); for(i = 0; i < params.size(); i++) { if(types.contains(paramTypes[i].replace('java.lang.',''))){ result+=params[i] + ((i < params.size() - 1) ? ', ' : ''); }else{ result+='JSONObject.toJSONString(' + params[i] + ((i < params.size() - 1) ? '), ' : ')'); } }; return result; " , methodParameters(), methodParameterTypes())

2、打印返回结果日志的配置

复制代码
log.info("$METHOD_NAME$() returned: {}" ,  $result$);

methodName:methodName()

result:variableOfType(Type)

相关推荐
深藏功yu名1 分钟前
Day24(进阶篇):向量数据库 Chroma_FAISS 深度攻坚 —— 索引优化、性能调优与生产级落地
数据库·人工智能·python·ai·agent·faiss·chroma
茶本无香17 分钟前
JDK 21 ZGC分代功能详解:配置、原理及生产环境实践
java·jvm
xxjj998a19 分钟前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
njidf23 分钟前
趣味项目与综合实战
jvm·数据库·python
李昊哲小课27 分钟前
PyMySQL完整教程
服务器·数据库·python·pymysql
wellc28 分钟前
Spring Boot 热部署
java·spring boot·后端
sqyno1sky31 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
金銀銅鐵35 分钟前
[Java] 从 class 文件看动态代理
java·后端
C++ 老炮儿的技术栈36 分钟前
两个线程对socket 进行读和写,需要加锁吗
java·服务器·网络
belldeep42 分钟前
python:spaCy 源代码解析,性能优化方法
python·性能优化·cython·spacy