使用@Loggable jcabi注释进行日志记录会修剪日志

Nan*_*h A 5 java log4j jcabi

我正在注释我的函数@Loggable jcabi注释.它记录的语句不完整,它修剪了行,只打印..为截断的数据.我希望打印整行.可以使用此注释完成此操作.

@Loggable(Loggable.DEBUG)
public String load(URL url) {
  return url.openConnection().getContent();
}
Run Code Online (Sandbox Code Playgroud)

生成以下日志

[DEBUG] #load('http://www.google.com'): returned "<html ..." in 23ms
Run Code Online (Sandbox Code Playgroud)

Log4j.properties

# Root logger option
log4j.rootLogger=INFO, file, CONSOLE

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=swami-plugin.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=com.jcabi.log.MulticolorLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%color{%-5p}] %c: %m%n
Run Code Online (Sandbox Code Playgroud)

yeg*_*256 1

这是设计使然。@Loggable注释通过使用toString()最多 100 个字符的方法来输出方法参数和结果对象。主要是为了使日志行足够短以适合 syslog 和类似系统。

也许添加一个可选参数来禁用该修剪功能会很好:

@Loggable(trim = false)
public String load(URL url) {
Run Code Online (Sandbox Code Playgroud)

我建议在 github 中提交请求。