- 根据字符串的长度是否超过定义的最大长度来做决定是否做分段打印
- 以JSON格式展示分页数据
private val LOG_MAX_LENGTH = 10
/**
* 根据字符串的长度是否超过定义的最大长度来做决定是否做分段打印
*/
private fun handleStringLog(msg: String) {
var pageNo = 1
// https://blog.csdn.net/u011595939/article/details/70212552
val totalPages: Int = (msg.length - 1) / LOG_MAX_LENGTH + 1
LegoLog.d("总页数:$totalPages")
// 日志长度超过最大长度分段打印
if (msg.length > LOG_MAX_LENGTH) {
var index = 0
while (index < msg.length) {
val subMsg: String = if (msg.length <= index + LOG_MAX_LENGTH) {
msg.substring(index)
} else {
msg.substring(index, index + LOG_MAX_LENGTH)
}
conver2Json(msg.length, totalPages, pageNo, subMsg)
pageNo++
index += LOG_MAX_LENGTH
}
} else {
conver2Json(msg.length, totalPages, pageNo, msg)
}
}
private fun conver2Json(totalSize: Int, totalPages: Int, pageNo: Int, data: String){
val jsonObj = JsonObject()
jsonObj.addProperty("totalSize", totalSize)
jsonObj.addProperty("totalPages", totalPages)
jsonObj.addProperty("pageNo", pageNo)
jsonObj.addProperty("pageSize", LOG_MAX_LENGTH)
jsonObj.addProperty("data", data)
LegoLog.d(jsonObj.toString())
}
效果展示:
// 方法调用
handleStringLog("123456789")