日志对象工具类,自定义日志格式,限制日志长度,在不同类在反复添加日志,最后存储一次操作的所有日志。


import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.util.Date;

public class DeploymentTaskLogger {

    /**
     * 日志前面的时间格式
     */
    private final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss SSS";

    /**
     * 单条日志的最大长度
     */
    private final int SINGLE_LOG_MAX_LENGTH = 250;

    private final StringBuilder builder = new StringBuilder();

    private boolean hasChange;

    public DeploymentTaskLogger() {
    }

    public DeploymentTaskLogger log(String info){
        //删除字符串最后一个换行符
        StringUtils.chomp(info);
        hasChange = true;
        if (info.length() > SINGLE_LOG_MAX_LENGTH){
            builder.append(getDateTime()).append(" ").append(info, 0, SINGLE_LOG_MAX_LENGTH).append("...").append("\n");
            return this;
        }
        builder.append(getDateTime()).append(" ").append(info).append("\n");
        return this;
    }

    private String getDateTime(){
        return DateFormatUtils.format(new Date(), DATE_FORMAT);
    }

    public String getLog(){
        return builder.toString();
    }

    public boolean hasChange(){
        boolean flag = hasChange;
        hasChange = false;
        return flag;
    }

}

用法:

添加日志

taskLogger.log(String.format("执行后置命令");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值