需要记录/打印的文本内容中有格式化字符串
比如记录一句SQL里面有类似: someField like ‘ABC%’。
writeLog("someField like 'ABC%'");
下面的函数就会报错。
public static void writeLog(LogType type, String format, Object... args) throws TNUException {
switch (type) {
case INFO:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_INFO, String.format(format, args));
break;
case WARNING:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_WARNING, String.format(format, args));
break;
case ERROR:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_ERROR, String.format(format, args));
break;
}
}
重载一下函数,
既然没参数,别格式化就好啦:
public static void writeLog(LogType type, String content) throws TNUException {
switch (type) {
case INFO:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_INFO,content);
break;
case WARNING:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_WARNING,content);
break;
case ERROR:
TME.sendMessage(MessageTag.LOG, MessageTag.LOG_ERROR,content);
break;
}
}
修复写日志函数错误

本文介绍了一种解决写日志函数在遇到特殊格式化字符串时出现错误的方法,通过重载函数避免了格式化问题,确保了日志记录的准确性。

被折叠的 条评论
为什么被折叠?



