当前位置: 首页 > 知识库问答 >
问题:

两个附加器log4j2中的不同级别。财产?

谭晓博
2023-03-14

我不熟悉Log4j2,我不知道如何在两个appender中设置两个不同的级别,例如我想在文件中编写。日志自级别错误,在控制台中自级别调试,以下是我的属性文件

status = error
name = PropertiesConfig

property.filename = logs

appenders =  console, rolling

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}/AndrewDebug-${date:yyyy-MM-dd}.log
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

logger.rolling.name = web.languages
logger.rolling.level = debug
logger.rolling.appenderRef.rolling.ref = RollingFile

rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

共有2个答案

公冶渝
2023-03-14

尝试使用以下语法:

对于控制台:

appender.console.filter.threshold.type = ThresholdFilter
appender.console.filter.threshold.level = debug

对于滚动文件:

appender.rolling.filter.threshold.type = ThresholdFilter
appender.rolling.filter.threshold.level = info

对于记录器使用:

logger.(your_name).level = trace(max_level)
柳墨一
2023-03-14

使用

logger.console.level = debug
logger.rolling.level = info

编辑:也定义一个名称

logger.console.name = web.languages
logger.console.appenderRef.console.ref = STDOUT
 类似资料:
  • 我有点小问题,找不到解决办法。我想为级别信息而不是级别警告设置图案布局。如果我有一个级别信息的日志,一切都正常,但是如果日志是级别,它会被写入控制台两次(作为级别信息和作为级别警告)。只需将特定级别的所有日志写入该级别和以下级别的us日志即可。 我想将级别信息写入控制台,如:和级别如。

  • 我们有两个不同的ASP.NET应用程序启用了Log4net日志记录。它们都有相同的log4net1.2.10.0版本。

  • 问题内容: 我想在我的应用程序(Spring Integration)中有两个日志文件,debug.log和main.log。我想在INFO级别运行main.log,在DEBUG级别运行debug.log。这可以通过追加程序上的过滤器完成。我想根据源将不同级别记录到附加程序。换一种说法 总结一下: 弹簧记录器 主要->错误 调试->调试 com.myapp记录器 主要->信息 调试->调试 因此,

  • 我想做的很直截了当: 我只希望在控制台追加器上显示重要的消息,而我希望将详细的消息路由到文件追加器。 我还尝试向添加一个ThresholdFilter,但这也不能过滤它。

  • 我还希望com.mypack的级别“trace”与“info”的行为方式相同。到目前为止,我还没有取得任何成功。我需要像这样的东西 感谢你的帮助。

  • 我希望在我的应用程序(Spring Integration)中有两个日志文件,Debug.log和Main.log。我想在信息级别运行main.log,在调试级别运行DEBUG.log。这可以通过附加程序上的筛选器来实现。我想根据源记录不同级别的附加程序。换句话说,也就是 总结一下: Spring记录器 主->错误 调试->调试 主->信息 调试->调试 因此,我必须让记录器在DEBUG运行,而附