如何在Selenium JAVA和TestNG中使用log4j2x在日志文件中打印"System Generated Log"?



系统生成日志如下所示

15:38:09,447 DEBUG RequestAddCookies:122 - CookieSpec selected: default
15:38:09,456 DEBUG RequestAuthCache:76 - Auth cache not set in the context
15:38:09,459 DEBUG PoolingHttpClientConnectionManager:249 - Connection request: [route: {}->http://localhost:35155][total kept alive: 0; route allocated: 0 of 2000; total allocated: 0 of 2000]
15:38:09,471 DEBUG PoolingHttpClientConnectionManager:282 - Connection leased: [id: 0][route: {}->http://localhost:35155][total kept alive: 0; route allocated: 1 of 2000; total allocated: 1 of 2000]
15:38:09,473 DEBUG MainClientExec:234 - Opening connection {}->http://localhost:35155
15:38:09,474 DEBUG DefaultHttpClientConnectionOperator:131 - Connecting to localhost/127.0.0.1:35155
15:38:09,475 DEBUG DefaultHttpClientConnectionOperator:138 - Connection established 127.0.0.1:61877<->127.0.0.1:35155
15:38:09,475 DEBUG DefaultManagedHttpClientConnection:90 - http-outgoing-0: set socket timeout to 10800000
15:38:09,475 DEBUG MainClientExec:255 - Executing request POST /session HTTP/1.1
15:38:09,475 DEBUG MainClientExec:260 - Target auth state: UNCHALLENGED
15:38:09,476 DEBUG MainClientExec:266 - Proxy auth state: UNCHALLENGED
15:38:09,477 DEBUG headers:135 - http-outgoing-0 >> POST /session HTTP/1.1
15:38:09,477 DEBUG headers:138 - http-outgoing-0 >> Content-Type: application/json; charset=utf-8

我想使用log4j2x将其打印到日志文件中

在Log4j2.xml文件中,请将参数提及为AppenderRef="文件">而不是AppenderRef ref=";控制台">

请参考以下Log4j2.xml配置设置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="basePath">./logs</Property>
</Properties>

<Appenders>
<RollingFile name="File" fileName="${basePath}/prints.log" filePattern="${basePath}/prints-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
<SizeBasedTriggeringPolicy size="500" />
</RollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>

此外,请参阅此处了解更多详细信息

是的,所有的selenium日志都可以与应用程序日志一起生成。如果您想使用log4j.properties文件,那么我有一个解决方案。您可以在文件中使用以下设置:(第一个块用于捕获所有硒日志,第二个块用于应用程序日志(。

#Root logger option
log4j.rootLogger=debug,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=F:\seleniumworkspaces\LiveProjects\PageObjectwithFactories\src\test\resources\logs\selenium.log
log4j.appender.file.maxFileSize=5000KB
log4j.appender.file.maxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.file.Append=false

#Application Logs
log4j.logger.devpinoyLogger=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.RollingFileAppender
log4j.appender.dest1.maxFileSize=5000KB
log4j.appender.dest1.maxBackupIndex=3
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
log4j.appender.dest1.File=F:\seleniumworkspaces\LiveProjects\PageObjectwithFactories\src\test\resources\logs\application.log
log4j.appender.dest1.Append=false


最新更新