小编Jam*_*eck的帖子

带有 Log4j2 错误的 SLF4j 无法为元素 RollingFile 调用类类中的工厂方法...RollingFileAppender

我有一些在 TestNG 中并行运行的 WebDriver 测试。而且我希望能够将日志记录到一个单独的文件中,以便在这样的目录结构中运行的每个测试:

target\logs\TestNGSuiteName(SuiteStartTime)
    Test1ClassName.TestMethod1 (TestStartTime).log
    Test1ClassName.TestMethod2 (TestStartTime).log
Run Code Online (Sandbox Code Playgroud)

等等。

使用 Log4j 和 SLF4j 是否可以为每个单独的 TestNG 测试创建单独的日志文件?

我曾尝试使用 RollingFileAppender,但它看起来不像是为像我在这里尝试做的那样为单独的日志文件运行单独的实例而设计的。

我收到了错误

ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile.
Unable to create Appender of type RollingFile.
Run Code Online (Sandbox Code Playgroud)

Log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
        <Routing name="Routing">
            <Routes pattern="$${ctx:ROUTINGKEY}">
                <Route>
                    <RollingFile name="Rolling-${ctx:ROUTINGKEY}"
                                 fileName="target/logs/${ctx:suiteTimestamp}/${ctx:testName} (${ctx:testStartTime}).log"
                                 filePattern="target/logs/${ctx:testname} ${ctx:testStartTime}_%i.log.gz">
                        <PatternLayout>
                            <pattern>%d{HH:mm:ss.SSS} [%t] %p %c{3} - %m%n</pattern>
                        </PatternLayout>
                        <Policies> <!-- 6 hour rollover-->
                            <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                            <SizeBasedTriggeringPolicy size="10 MB"/>
                        </Policies>
                    </RollingFile>
                </Route>
            </Routes> …
Run Code Online (Sandbox Code Playgroud)

java testng slf4j log4j2

6
推荐指数
1
解决办法
4万
查看次数

Conemu 启动时打开多个选项卡的任务

默认情况下,conEmu 有没有办法打开多个不同的选项卡?我看到这个页面解释了如何使用splits来做到这一点,我意识到我可以做Ctrl+ T, 1, Enter,但我希望有一种方法可以自动做到这一点!

"%GIT_HOME%\usr\bin\sh.exe" --login -i -cur_console:t:"repo1":C:"%GIT_HOME%\git-bash.exe":d:"%USERPROFILE%\code\repo1"

"%GIT_HOME%\usr\bin\sh.exe" --login -i -new_console:t:"repo2":C:"%GIT_HOME%\git-bash.exe":d:"%USERPROFILE%\code\repo2"

"%GIT_HOME%\usr\bin\sh.exe" --login -i -new_console:t:"repo3":C:"%GIT_HOME%\git-bash.exe":d:"%USERPROFILE%\code\repo3"
Run Code Online (Sandbox Code Playgroud)

conemu

6
推荐指数
1
解决办法
5679
查看次数

标签 统计

conemu ×1

java ×1

log4j2 ×1

slf4j ×1

testng ×1