Ведение журнала с использованием аннотаций @Loggable jcabi обрезает журналы
Я комментирую свою функцию @Loggable jcabi annotation. Оператор, который он записывает, не завершен, он обрезает строку и просто печатает.. для усеченных данных. Я хочу, чтобы вся строка была напечатана. Можно ли это сделать с помощью этой аннотации.
@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
1 ответ
Решение
Это по замыслу. @Loggable
аннотация выводит параметр метода и объект результата, используя их toString()
методы до 100 символов. Главным образом для того, чтобы строки журнала были достаточно короткими, чтобы вписываться в системный журнал и подобные системы.
Может быть, было бы неплохо добавить необязательный параметр, чтобы отключить эту функцию обрезки:
@Loggable(trim = false)
public String load(URL url) {
Я бы порекомендовал подать заявку в github.