use*_*804 5 java spring log4j logback slf4j
我正在使用 logback 记录到 Spring Boot 服务中的滚动文件。在我的一门课程中,我试图记录一个非常长的字符串(一个非常大的对象数组的字符串值,可以包含数万个元素)。
log.info(str);
Run Code Online (Sandbox Code Playgroud)
上面没有打印,可能是因为str的值是一个非常非常长的字符串。
//logback truncates the list - to preserve this we should record it in an audit table
String rl = String.valueOf(reptIdList);
String truncRlStr = rl.substring(0, Math.min(rl.length(), 100));
log.info(truncRlStr);
Run Code Online (Sandbox Code Playgroud)
上面确实打印了。可能是因为我将很长的字符串截断为 100 个字符。
logback 中的字符串长度可能有限制 - 有没有办法将其设置为最大字符串长度?我注意到登录控制台时对字符串长度没有限制。
感谢您的任何建议。
我知道这是一个老问题了,操作系统在她/他的生活中继续前进,但这对于来到这个线程的人来说是有用的。
您可以使用以下命令限制 logback 将记录的字符数:%.-<limit>msg
例如,将字符数限制为 100:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%.-30msg%n
</Pattern>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
PS:我使用ch.qos.logback库测试了这个
| 归档时间: |
|
| 查看次数: |
3029 次 |
| 最近记录: |