我正在尝试在我的Geb框架中安装log4j2。对于我的一生,我不知道如何将它们结合在一起。我使用记录器“ Selenium”设置了log4j2.xml(不是log4j.xml)文件。在DefaultPage中,我尝试从配置文件中获取名称为Selenium的Logger LogManager.getLogger("Selenium")
。
log4j2.xml
DefaultPage.groovy
class DefaultPage extends geb.Page { static content = { pageId(wait: true) { $("meta", name: "pageId").getAttribute("content") } pageHeading(wait: true) { $("meta", name: "heading").getAttribute("content") } } static final Logger logger = LogManager.getLogger("Selenium") /** * Uses jquery to create a mouseover on an element * @param element The jquery element created in the page object. */ static def mouseOver(element) { logger.error("Hovering over ${element}") element.jquery.mouseover() } }
执行测试,并将输出写入STDERR,这是预期的,因为我有logger.error。但是,它不保留日期格式。另外,我还有其他类使用.info调用此记录器,而在STDOUT中则看不到这些类。当我调试记录器的级别是ERROR而不是TRACE时。
这是我的文件结构:
functional | --src | |--test | |--groovy | | | |--com.x.functional | | | |--pages | | | |--DefaultPage.groovy | |--Other classes that want to use log4j2. | |--resources | |--log4j2.xml
谢谢。
编辑 将log4j更改为log4j2。正在添加配置状态= TRACE。修改后的日期格式(以毫秒为单位),以“,”代替“。”