123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- package com.simuwang.logging;
- import com.simuwang.base.common.conts.Constants;
- import java.io.Serial;
- import java.io.Serializable;
- /**
- * @author wangzaijun
- * @date 2024/9/14 14:04
- * @description 系统操作日志记录
- */
- public class Logging implements Serializable {
- public static final long serialVersionUID = Constants.DEFAULT_SERIAL_ID;
- private String title;
- private Integer type;
- private String requestUri;
- private String method;
- private String remoteAddr;
- private Long executeTime;
- private String params;
- private String result;
- private Boolean hasException;
- private String exception;
- /**
- * 私有化无参构造器
- */
- private Logging() {
- }
- /**
- * 提供一个包含所有参数的构造器,方便子类继承后扩展
- *
- * @param title 标题
- * @param type 日志类型
- * @param requestUri 请求地址
- * @param method 请求method
- * @param params 请求参数
- * @param result 执行结果
- * @param executeTime 执行所用时间,单位:毫秒
- * @param hasException 是否有异常
- * @param exception 异常详情
- */
- public Logging(String title, Integer type, String requestUri, String method, String remoteAddr, Long executeTime,
- String params, String result, Boolean hasException, String exception) {
- this.title = title;
- this.type = type;
- this.requestUri = requestUri;
- this.method = method;
- this.remoteAddr = remoteAddr;
- this.executeTime = executeTime;
- this.params = params;
- this.result = result;
- this.hasException = hasException;
- this.exception = exception;
- }
- /**
- * 一个构造logging的builder对象的方法
- *
- * @return Builder对象
- */
- public static Builder builder() {
- return new Builder();
- }
- @Override
- public String toString() {
- return "{title='" + title + '\'' +
- ", requestUri='" + requestUri + '\'' +
- ", remoteAddr='" + remoteAddr + '\'' +
- ", executeTime=" + executeTime + '}';
- }
- public String getTitle() {
- return title;
- }
- public Integer getType() {
- return type;
- }
- public String getRequestUri() {
- return requestUri;
- }
- public String getMethod() {
- return method;
- }
- public String getRemoteAddr() {
- return remoteAddr;
- }
- public Long getExecuteTime() {
- return executeTime;
- }
- public String getParams() {
- return params;
- }
- public String getResult() {
- return result;
- }
- public String getException() {
- return exception;
- }
- public Boolean getHasException() {
- return hasException;
- }
- /**
- * logging a builder
- */
- public static class Builder implements Serializable {
- @Serial
- private static final long serialVersionUID = Constants.DEFAULT_SERIAL_ID;
- private String title;
- private Integer type;
- private String requestUri;
- private String method;
- private String remoteAddr;
- private Long executeTime;
- private String params;
- private String result;
- private Boolean hasException;
- private String exception;
- private Builder() {
- }
- public Builder title(String title) {
- this.title = title;
- return this;
- }
- public Builder type(int type) {
- this.type = type;
- return this;
- }
- public Builder requestUri(String requestUri) {
- this.requestUri = requestUri;
- return this;
- }
- public Builder method(String method) {
- this.method = method;
- return this;
- }
- public Builder remoteAddr(String remoteAddr) {
- this.remoteAddr = remoteAddr;
- return this;
- }
- public Builder params(String params) {
- this.params = params;
- return this;
- }
- public void result(String result) {
- this.result = result;
- }
- public void executeTime(Long executeTime) {
- this.executeTime = executeTime;
- }
- public void hasException(Boolean hasException) {
- this.hasException = hasException;
- }
- public void exception(String exception) {
- this.exception = exception;
- }
- public Logging build() {
- Logging logging = new Logging();
- logging.title = this.title;
- logging.type = this.type;
- logging.requestUri = this.requestUri;
- logging.method = this.method;
- logging.remoteAddr = this.remoteAddr;
- logging.params = this.params;
- logging.result = this.result;
- logging.executeTime = this.executeTime;
- logging.hasException = this.hasException;
- logging.exception = this.exception;
- return logging;
- }
- }
- }
|