java日志使用_使用Java 8防止日志过大

java日志使用

这篇文章最初发表在jooq.org上 ,这是一个博客,从jOOQ的角度着眼于所有开源,Java和软件开发

一些日志将被机器消耗并永久保存。

其他日志仅用于调试和供人类使用。 在后一种情况下,您通常要确保您不会产生过多的日志,尤其是不会产生过多的日志,因为一旦行长超过一定大小,许多编辑器和其他工具就会出现问题( 例如,此Eclipse bug )。

字符串操作曾经是Java的主要难题,它具有许多繁琐的编写循环和分支等。Java8不再具有这种功能!

以下truncate方法会将字符串中的所有行截断为一定长度:

public String truncate(String string) {
    return truncate(string, 80);
}
 
public String truncate(String string, int length) {
    return Seq.of(string.split("\n"))
              .map(s -> StringUtils.abbreviate(s, 400))
              .join("\n");
}

上面的示例使用jOOQ 0.9.4Apache Commons Lang ,但是您可以使用香草Java 8实现相同的功能:

public String truncate(String string) {
    return truncate(string, 80);
}
 
public String truncate(String string, int length) {
    return Stream.of(string.split("\n"))
                 .map(s -> s.substring(0, Math.min(s.length(), length)))
                 .collect(Collectors.joining("\n"));
}

上面将日志截断为长度10时,上面的程序将产生:

输入项

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.

输出量

Lorem ipsum dolor...
incididunt ut lab...
nostrud exercitat...
Duis aute irure d...
fugiat nulla pari...
culpa qui officia...

祝您登录愉快!

翻译自: https://jaxenter.com/java-8-logs-114296.html

java日志使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值