5

関数に @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
4

1 に答える 1

1

これは仕様によるものです。@LoggableアノテーションtoString()は、最大 100 文字のメソッドを使用して、メソッド パラメーターと結果オブジェクトを出力します。ほとんどの場合、ログ行を syslog や同様のシステムに収まるように短くするためです。

オプションのパラメータを追加して、そのトリミング機能を無効にするとよいでしょう。

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

githubでリクエストを送信することをお勧めします。

于 2013-03-06T21:03:00.020 に答える