我想使用客户端协议在rsyslog服务器上发送应用程序的日志:Unix socket.应用程序和rsyslog服务器都在同一台机器上.
我一直在比较不同的日志工具:Log4J,Logback和Log4J2.
Log4J的Syslog appender本身不允许它.解决方案是使用Syslog4J并以这种方式配置我们的Syslog4JAppender:
<appender name="mySyslogAppender" class="org.productivity.java.syslog4j.impl.log4j.Syslog4jAppender">
<param name="protocol" value="unix_socket" />
...
</appender>
Run Code Online (Sandbox Code Playgroud)
与Log4J相同,Logback的Syslog appender本身不允许它.解决方案是使用Syslog4J和logback-syslog4j工具,并以这种方式配置我们的appender:
<appender name="mySyslogAppender" class="com.papertrailapp.logback.Syslog4jAppender">
<syslogConfig class="org.productivity.java.syslog4j.impl.unix.socket.UnixSocketSyslogConfig">
...
</syslogConfig>
</appender>
Run Code Online (Sandbox Code Playgroud)
现在我正在寻找Log4J 2的解决方案,但我没有找到任何解决方案.你知道吗?这些工具是否会包含本机功能?
我有一个带有 jacoco 插件的 Maven 项目,它生成不同格式的报告,例如 html、csv 和 xml。但我只需要 html。我怎样才能指定它?
这是一些代码,我在其中添加 jacoco 插件:
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
//other plugins
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
然后我运行测试:
mnv clean test
Run Code Online (Sandbox Code Playgroud)
所有报告都出现在“目标”目录中。
我阅读了文档https://www.eclemma.org/jacoco/trunk/doc/maven.html,但我没有找到任何有关如何选择所需格式的信息。我发现它只适用于 Ant 和 Gradle。
我想我错过了一些东西,所以我将不胜感激任何线索。