【问题标题】:Logging using @Loggable jcabi annotations trims the logs使用@Loggable jcabi 注释进行日志记录会修剪日志
【发布时间】:2013-03-04 11:03:35
【问题描述】:

我正在注释我的函数@Loggable jcabi 注释。 它记录的语句不完整,它会修剪该行并仅打印 .. 用于截断的数据。 我希望打印整行。这个注解可以做到吗?

@Loggable(Loggable.DEBUG)
public String load(URL url) {
  return url.openConnection().getContent();
}

产生以下日志

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

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

【问题讨论】:

  • 您是否将log4j 用于slf4j 绑定?
  • 我正在使用 log4j 绑定
  • 能否请您提供log4j.xmllog4.properties 设置,特别是我对layout 的东西感兴趣。问题似乎在那里。
  • 用属性更新了问题
  • CONSOLE layout 有相同的设置吗?

标签: java log4j jcabi


【解决方案1】:

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

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

@Loggable(trim = false)
public String load(URL url) {

我建议提交请求in github

【讨论】:

  • 我应该分叉项目,进行更改并提交拉取请求吗?
  • maven 存储库会用这个最新版本更新吗? 0.7.9 是最新的 maven 仓库
  • 非常感谢,我们感谢您在实施这一过程中的迅速反应。我指的是mvnrepository.com/artifact/com.jcabi/jcabi-aspects。无论如何,我得到了最新版本,并且像魅力一样工作。再次感谢您。
猜你喜欢
  • 1970-01-01
  • 2012-11-15
  • 2012-05-11
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多