我的spring boot应用程序中有Log4j2,我希望将事件记录到2个日志文件中。用户服务无法创建信息级别的日志,但可以创建警告级别的日志。有人能指点一下吗?
Log4j2.xml
<Configuration>
<Appenders>
<RollingFile name="matchFile"
fileName="${log-path}/match.log"
immediateFlush="true">
<Filters>
<ThresholdFilter level="trace" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="debug" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="info" onMAtch="accept" onMismatch="deny" />
<ThresholdFilter level="warn" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="error" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="fatal" onMAtch="deny" onMismatch="neutral" />
</Filters>
</RollingFile>
<RollingFile name="confirmFile"
fileName="${log-path}/confirm.log"
immediateFlush="true">
<Filters>
<ThresholdFilter level="trace" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="debug" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="info" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="warn" onMAtch="accept" onMismatch="deny" />
<ThresholdFilter level="error" onMAtch="deny" onMismatch="neutral" />
<ThresholdFilter level="fatal" onMAtch="deny" onMismatch="neutral" />
</Filters>
</RollingFile>
</Appenders>
</Configuration>
UserService.java
public class UserService{
Logger matchLogger = LogManager.getLogger("matchFile");
Logger confirmLogger = LogManager.getLogger("confirmFile");
public void log(){
matchLogger.info("print info"); //not able to log this message
confirmLogger.warn("print warn"); //able to log this message
}
}
你漏掉了<代码>
您的配置应如下所示:
<Configuration>
<Appenders>
<RollingFile name="matchFile"
fileName="${log-pathmatchFile}/match.log"
immediateFlush="true">
<Filters>
<!-- deny warn, error and fatal messages -->
<ThresholdFilter level="warn" onMatch="deny" onMismatch="neutral" />
<!-- accept info, warn, error, fatal and deny debug, trace -->
<ThresholdFilter level="info" onMatch="accept" onMismatch="deny" />
</Filters>
</RollingFile>
<RollingFile name="confirmFile"
fileName="${log-path}/confirm.log"
immediateFlush="true">
<Filters>
<!-- deny error and fatal messages -->
<ThresholdFilter level="error" onMatch="deny" onMismatch="neutral" />
<!-- accept warn, error, fatal and deny info, debug, trace -->
<ThresholdFilter level="warn" onMatch="accept" onMismatch="deny" />
</Filters>
</RollingFile>
</Appenders>
<Loggers>
<!-- probably declare the root logger level and appenders:
<Root level="...">
<AppenderRef ref="..." />
</Root>
-->
<Logger name="matchFile" level="info">
<AppenderRef ref="matchFile" />
</Logger>
<Logger name="confirmFile" level="warn">
<AppenderRef ref="confirmFile" />
</Logger>
</Loggers>
</Configuration>
如何只打印信息级别? 我当前的日志正在将所有信息、警告、错误和致命级别打印到控制台——我知道为什么会这样。(因为它们都在信息之上) 有没有一种方法可以指定只将信息级别发送到控制台appender,而不是它上面的所有内容? 目前有以下log4j2 xml:
我有log4j2.xml,它部分配置为: 但是,跟踪消息并不存在于两个文件附加符(fileinfo/filedebug)中。当我更改FileDebug log level=“TRACE”时,就会出现跟踪消息。
我已经将ApacheJena库包含到我的Java项目中,并且我正在使用ApacheLog4J2作为我的记录器。我还包括了用于从log4jv1映射的log4j-1.2-api和log4j-slf4j-impl依赖项。x和SLF4J(分别) 但是,我无法更改Jena的日志记录级别 我尝试在log4j2中设置它。xml(我在项目中使用的内容): 我甚至尝试添加一个log4j。属性文件: 没有成功 是否有
我在spring应用程序中使用log4j2作为我的日志工具。我想为特定的库/包设置不同于根目录的日志级别。例如,我希望< code>org.springframework为INFO,而< code>com.google为WARN。我在< code>log4j2.properties中找到了这个: 我不明白是什么意思?我一直在log4j2文档中找到它,但没有解释那是什么或意味着什么。 如何为特定包添
我有将日志保存到文件配置,但日志会附加到现有内容。我想创建总是新的文件。我怎么能那样做? 我的log4j2.xml:
通过CloudFormation生成的CodeBuild服务的角色如下 怎么了 为什么CodeBuild不能写日志? 服务角色arn:AWS:iam::598xxx:role/Skynet-Codebuild不允许AWS CodeBuild为构建创建Amazon CloudWatch日志日志流arn:AWS:CodeBuild:ap-southeast-1:598xxx:build/Skynet-