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)

相关推荐
陪我一起学编程17 小时前
uv包管理工具
python·uv·虚拟环境·包管理工具·项目工程化·项目规范·pip、conda、pdm
盼哥PyAI实验室17 小时前
Python自定义HTTP客户端:12306抢票项目的网络请求管理
开发语言·python·http
这儿有一堆花17 小时前
Python优化内存占用的技巧
开发语言·python
9号达人17 小时前
Jackson序列化让验签失败?破解JSON转义陷阱
java·后端·面试
Evan芙17 小时前
使用inotify + rsync和sersync实现文件的同步,并且总结两种方式的优缺点
java·服务器·网络
爱笑的眼睛1117 小时前
PyTorch自动微分:超越基础,深入动态计算图与工程实践
java·人工智能·python·ai
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ17 小时前
java实现登录:多点登录互踢,30分钟无操作超时
java·前端
Daily Mirror17 小时前
Day33 类的装饰器
python
Three K17 小时前
Redisson限流器特点
java·开发语言
Halo_tjn17 小时前
Java 多线程机制
java·开发语言·windows·计算机