cn.bestwu.logging.RequestLogging.kt Maven / Gradle / Ivy
package cn.bestwu.logging
import java.io.Serializable
import java.text.SimpleDateFormat
import java.util.*
/**
* 日志模型
*
* @author Peter Wu
*/
class RequestLogging : Serializable {
/**
* 资源分类名
*/
var resourceType: String? = null
/**
* 资源名
*/
var resourceName: String? = null
/**
* 资源路径
*/
var resourceUri: String? = null
/**
* uri上的变量
*/
var uriVariables: Map? = null
/**
* 请求方法
*/
var requestMethod: String? = null
/**
* 请求servletPath
*/
var servletPath: String? = null
/**
* 请求头
*/
var requestHeaders: Map>? = null
/**
* 响应头
*/
var responseHeaders: Map>? = null
/**
* 响应状态码
*/
var responseStatus: Int? = null
/**
* 响应内容
*/
var responseBody: Any? = null
/**
* 请求参数,不含二进制流
*/
var parameters: Map>? = null
/**
* 请求体,含二进制流
*/
//--------------------------------------------
var requestBody: Any? = null
/**
* 请求开始时间
*/
var createdDate: Long? = System.currentTimeMillis()
/**
* 请求结束时间
*/
var endDate: Long? = null
/**
* 请求客户端IP地址
*/
var ipAddress: String? = null
/**
* 客户端设备描述
*/
var device: String? = null
/**
* 异常追踪桟
*/
var trace: String? = null
/**
* 客户ID
*/
var username: String? = null
//--------------------------------------------
/**
* 请求耗时,单位毫秒
*/
val duration: Long
get() = endDate!! - createdDate!!
/**
* @return 格式化后的请求开始时间
*/
val createdDateStr: String
get() = dateFormat.format(Date(createdDate!!))
/**
* @return 格式化后的请求结束时间
*/
val endDateStr: String
get() = dateFormat.format(Date(endDate!!))
companion object {
private const val serialVersionUID = 1L
private val dateFormat = SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss.SSSZ")
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy