Я использую Robot Framework с настраиваемыми ключевыми словами, реализованными в библиотеках Java. Сообщения, написанные непосредственно в System.out из моих классов java, видны в выходных данных робота - как и обещано в документации. Однако, поскольку реализации ключевых слов являются компонентами многократного использования, независимыми от фреймворка роботов, я хотел иметь более гибкое ведение журнала и не использовать System.out напрямую. Я думал, что если я перенаправлю вывод журнала на System.out (с помощью ConsoleAppender log4j), сообщения будут видны в выводе робота. К сожалению, это не работает.
Мой файл свойств log4j:
log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Stdout.Target=System.out
log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.Stdout.layout.conversionPattern=%d %-5p [%t] %F:%L %m%n
log4j.appender.Stdout.ImmediateFlush=true
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=mylog.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d %-5p [%t] %F:%L %m%n
log4j.rootLogger=INFO,Stdout,FA
Приложение для файлов работает нормально, файл журнала создается и содержит все сообщения журнала, но одни и те же сообщения не отображаются ни на консоли, ни в выходных отчетах робота. Когда я запускаю свои компоненты без фреймворка робота, та же конфигурация работает и для консоли.
У вас есть идеи, что не так с приведенной выше конфигурацией? Или любые другие предложения по созданию журналов роботов, избегая прямого использования System.out из моих классов java?