<logger name="com.mypack" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="TrackingLog" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="PostBackLog" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<root level="error" includeLocation="true">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</root>
我还希望com.mypack的级别“trace”与“info”的行为方式相同。到目前为止,我还没有取得任何成功。我需要像这样的东西
<logger name="com.mypack" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="com.mypack" level="trace" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="TrackingLog" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="PostBackLog" level="info" additivity="false">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</logger>
<root level="error" includeLocation="true">
<appender-ref ref="CLOUD" />
<appender-ref ref="RollingFile" />
<appender-ref ref="STDOUT" />
</root>
感谢你的帮助。
使用if条件设置不同的日志记录级别。
首先,需要对Janino库进行条件日志记录。引用janino并将其添加到pom.xml中
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.1.6</version>
</dependency>
第二,添加环境变量设置为不同的日志记录级别。
your_key=your_value
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{100} - %msg%n</pattern>
</encoder>
</appender>
<!-- if exists your key in environment variable -->
<if condition='isNull("your_key")'>
<!-- if your key exists -->
<then>
<logger name="com.mypack" level='debug'>
<appender-ref ref="STDOUT" />
</logger>
</then>
<!-- if your key doesn't exist -->
<else>
<logger name="com.mypack" level='info'>
<appender-ref ref="STDOUT" />
</logger>
</else>
</if>
</configuration>
如何在SL4J中配置日志记录?我的项目有很多类:class1、class2、Class3....我想做两件事:将所有类记录到一个名为FILE1的文件追加器中,并具有警告级别(class1、class2、class3...)将一个名为class1的类记录到具有调试级别的名为FILE2的文件追加器中。 问题是,当我将class1的记录器配置为具有WARN级别的FILE1 appender时,我不知道如
我们有两个不同的ASP.NET应用程序启用了Log4net日志记录。它们都有相同的log4net1.2.10.0版本。
问题内容: 如何配置Logback以将记录器的不同级别记录到不同的目的地? 例如,给定以下Logback配置,Logback会将消息记录到并将消息记录到吗? (请注意,此示例是第3章:Logback配置中所示示例的变形)。 问题答案: 更新:有关使用Groovy的基于所有配置的方法,请参见DeanHiller的答案。 好的,这是我最喜欢的xml方法。我为Eclipse版本执行此操作,因此我可以 单
问题内容: 我想在我的应用程序(Spring Integration)中有两个日志文件,debug.log和main.log。我想在INFO级别运行main.log,在DEBUG级别运行debug.log。这可以通过追加程序上的过滤器完成。我想根据源将不同级别记录到附加程序。换一种说法 总结一下: 弹簧记录器 主要->错误 调试->调试 com.myapp记录器 主要->信息 调试->调试 因此,
问题内容: 我的logback.xml中有这个添加器 因此,目前我将所有日志保存到一个文件中。如何使它像一个文件仅保存错误日志,而另一个文件保存所有其他日志? 我想在代码中仅使用1个logger实例,如下所示: 问题答案: 开始寻找logback类别,找到过滤器。 只需将过滤器说明添加到您的附加程序即可:
我正在使用2个appender-控制台和自定义appender,称为MyAppender,它应该忽略所有级别低于ERROR的消息(也就是说,它应该只支持ERROR和FATAL)。控制台应该能够支持所有级别。我尝试了几种方法来定义它,但似乎过滤器不适用于根级附加器。如何实现这一点?我当前的log4j2定义: