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)

相关推荐
wuqingshun31415911 分钟前
说说java中实现多线程有几种方法
java·开发语言·jvm
于眠牧北12 分钟前
重写RedisTemplate后在lua脚本中传递参数不需要二次转换
java·junit·lua
深蓝轨迹13 分钟前
SQL优化及实战分享
java·数据库·sql
DamianGao18 分钟前
我用 OpenClaw 做了一个 AI 新闻早报,每天自动推送
人工智能·python·语言模型
hashiqimiya21 分钟前
尝试其他项目使用本地仓库的jar包时报错没找到类的原因并下载到本地仓库
java·jar
Westward-sun.24 分钟前
Python argparse 模块:命令行参数解析实战全攻略
python·opencv·机器学习·rpc
常利兵28 分钟前
Spring Boot + MyBatis,给数据穿上“隐形盔甲”
java·spring boot·mybatis
Storynone29 分钟前
【Day21】LeetCode:93. 复原IP地址,78. 子集,90. 子集 II
python·算法·leetcode
RechoYit30 分钟前
项目记录:把 OpenClaw 结合自己的交易项目做成飞书里的 AI Trading Partner-- A 股智能分析机器人
人工智能·python·金融·飞书·投资·openclaw
xiaoye370831 分钟前
动态代理的使用场景与适用时机
java·数据库·sql