log4j2日志 使用Rklogger.debug级别控制台不输出(能在.log文件输出)

log4j2日志 使用Rklogger.debug级别控制台不输出(能在.log文件输出)

Rklogger.debug("")日志能打到.log日志文件里但是控制台不输出debug级别;配置的info,warn,error级别的日志可以在控制台输出并且能打进日志文件

在这里插入图片描述

log4j2.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
	<Appenders>
		<RollingRandomAccessFile name="RollingFile" fileName="/logs/oauth/app.log"
			filePattern="/logs/oauth/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
			<PatternLayout charset="UTF-8">
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
			<Policies>
				<TimeBasedTriggeringPolicy />
				<SizeBasedTriggeringPolicy size="80 MB" />
			</Policies>
		</RollingRandomAccessFile>
		<RollingRandomAccessFile  name="InfoFile" fileName="/logs/oauth/info.log"
								  filePattern="/logs/oauth/$${date:yyyy-MM}/info-%d{MM-dd-yyyy}-%i.log.gz">
			<PatternLayout charset="UTF-8">
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
			<Filters>
				<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
			<Policies>
				<TimeBasedTriggeringPolicy interval="1"/>
				<SizeBasedTriggeringPolicy size="80 MB" />
			</Policies>
		</RollingRandomAccessFile >
		<RollingRandomAccessFile  name="WarnFile" fileName="/logs/oauth/warn.log"
								  filePattern="/logs/oauth/$${date:yyyy-MM}/warn-%d{MM-dd-yyyy}-%i.log.gz">
			<PatternLayout charset="UTF-8">
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
			<Filters>
				<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
			<Policies>
				<TimeBasedTriggeringPolicy interval="1"/>
				<SizeBasedTriggeringPolicy size="80 MB" />
			</Policies>
		</RollingRandomAccessFile >
		<RollingRandomAccessFile  name="ErrorFile" fileName="/logs/oauth/error.log"
								  filePattern="/logs/oauth/$${date:yyyy-MM}/error-%d{MM-dd-yyyy}-%i.log.gz">
			<PatternLayout charset="UTF-8">
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
			<Filters>
				<ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL" />
				<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
			</Filters>
			<Policies>
				<TimeBasedTriggeringPolicy interval="1"/>
				<SizeBasedTriggeringPolicy size="80 MB" />
			</Policies>
		</RollingRandomAccessFile >
		<RollingRandomAccessFile  name="DebugFile" fileName="/logs/oauth/debug.log"
								  filePattern="/logs/oauth/$${date:yyyy-MM}/debug-%d{MM-dd-yyyy}-%i.log.gz">
			<PatternLayout charset="UTF-8">
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
			<Filters>
				<ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
			<Policies>
				<TimeBasedTriggeringPolicy interval="1"/>
				<SizeBasedTriggeringPolicy size="80 MB" />
			</Policies>
		</RollingRandomAccessFile >

		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%d - %m%n" />
		</Console>

	</Appenders>
	<Loggers>
		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
		<Logger name="org.apache.coyote.http11.Http11NioProtocol"
			level="warn" />
		<Logger name="org.apache.tomcat.util.net.NioSelectorPool"
			level="warn" />
		<Logger name="org.hibernate.validator.internal.util.Version"
			level="warn" />
		<Logger name="org.springframework" level="warn" />
		<Logger name="com.github" level="warn" />
		<Logger name="net.ring" level="info" />
		<Root level="debug">
			<AppenderRef ref="RollingFile" level="info" />
			<AppenderRef ref="Console" level="debug" />
			<AppenderRef ref="InfoFile" level="info"/>
			<AppenderRef ref="WarnFile" level="warn"/>
			<AppenderRef ref="ErrorFile" level="error"/>
			<AppenderRef ref="DebugFile" level="debug"/>
		</Root>
	</Loggers>
</Configuration> 

尝试:

1.把控制台输出级别从info降至debug —失败!
2.测试类输出Rklogger.debug("")----- 成功!
卡在这里就很奇怪,猜测可能某个依赖覆盖了打日志权限,准备看Rklogger源码研究一下

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: log4j2.properties是log4j2日志框架的配置文件,用于配置日志输出的格式、级别、目的地等信息。以下是log4j2.properties配置文件的详解: 1. 配置日志输出级别 log4j2.rootLogger.level=INFO 这行代码表示设置根日志记录器的级别为INFO,即只输出INFO级别及以上的日志信息。可以根据需要设置为DEBUG、WARN、ERROR等级别。 2. 配置日志输出的目的地 log4j2.appender.console.type=Console log4j2.appender.console.name=STDOUT log4j2.appender.console.layout.type=PatternLayout log4j2.appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n 这几行代码表示将日志输出控制台输出格式为时间、线程、级别、类名、日志信息。可以根据需要将日志输出文件、数据库等目的地。 3. 配置日志输出的格式 log4j2.appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n 这行代码表示设置日志输出的格式为时间、线程、级别、类名、日志信息。可以根据需要自定义日志输出的格式。 4. 配置日志输出文件名和路径 log4j2.appender.file.type=File log4j2.appender.file.name=FILE log4j2.appender.file.fileName=logs/app.log log4j2.appender.file.layout.type=PatternLayout log4j2.appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n 这几行代码表示将日志输出文件logs/app.log中,输出格式为时间、线程、级别、类名、日志信息。可以根据需要自定义日志输出文件名和路径。 5. 配置日志的滚动策略 log4j2.appender.file.type=RollingFile log4j2.appender.file.name=FILE log4j2.appender.file.fileName=logs/app.log log4j2.appender.file.filePattern=logs/app-%d{yyyy-MM-dd}.log log4j2.appender.file.layout.type=PatternLayout log4j2.appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n log4j2.appender.file.policies.type=Policies log4j2.appender.file.policies.time.type=TimeBasedTriggeringPolicy log4j2.appender.file.policies.time.interval=1 这几行代码表示配置日志的滚动策略为按时间滚动,每天生成一个新的日志文件。可以根据需要配置按文件大小滚动等策略。 以上是log4j2.properties配置文件的详解,可以根据需要自定义配置文件来满足日志输出的需求。 ### 回答2: log4j2是一个帮助开发者记录和排查问题的Java日志组件。它使用配置文件来记录不同级别日志,通过配置的不同级别可以把日志信息输出到不同的位置,方便对代码进行调试和日志分析。log4j2的配置文件log4j2.properties,下面详细讲解该配置文件的各个属性。 1.日志级别log4j2.properties配置文件中,我们可以通过设置不同级别(trace,debug,info,warn,error,fatal)来记录不同情况下产生的日志信息。默认情况下,log4j2只会记录warn以上级别日志信息。 2.日志输出位置: 指定日志输出的位置,可以输出控制台文件、Redis等位置。输出文件需要指定文件名称和路径,这样可以便于管理和分析,同时在日志数量较多时也可以有效减小文件尺寸。 3.日志信息格式: 日志信息格式主要包括时间、线程、日志级别、类名和日志信息等方面。在log4j2.properties配置文件中,我们可以通过指定输出格式化模板来实现自定义输出格式,同时还可以添加特定的信息,如调用者信息,来便于排查问题。 4.日志信息输出策略: 在配置文件中,我们也可以设置日志输出策略来控制日志信息的输出频率和大小,包括指定日志文件个数、日志文件大小、日志滚动周期、压缩文件等。 总之,在配置log4j2.properties配置文件时,需要根据具体情况设置不同的日志级别输出位置、信息格式等内容,从而更好地记录和分析日志,有效地定位问题并优化代码性能。 ### 回答3: log4j2.properties是log4j2日志框架的配置文件,可以通过该配置文件设置日志输出等级、输出目的地、格式等内容。下面对log4j2.properties的配置进行详解。 1. 配置日志级别 通过设置日志级别,可以控制哪些日志需要输出,哪些不需要输出log4j2支持的日志级别有:trace、debug、info、warn、error、fatal。 log4j2.rootLogger.level=info 该配置表示设置根日志日志级别为info。 log4j2.logger.com.example=debug 该配置表示设置com.example包下的所有日志级别debug。 2. 配置输出目的地 日志输出目的地可以是控制台文件、数据库等。下面分别介绍几种输出目的地的配置方式。 2.1 输出控制台log4j2.appender.console.type=Console log4j2.appender.console.name=STDOUT 以上两行配置表示将日志输出控制台,其中type=Console表示输出类型为控制台,name=STDOUT表示输出方式为标准输出。 2.2 输出文件log4j2.appender.file.type=File log4j2.appender.file.name=File log4j2.appender.file.fileName=/logs/app.log log4j2.appender.file.layout.type=PatternLayout log4j2.appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %p [%t] %c{6} - %m%n 以上配置表示将日志输出logs文件夹下的app.log文件中,layout.pattern用来设置输出日志格式。 2.3 输出到数据库: log4j2.appender.db.type=JDBC log4j2.appender.db.name=DB log4j2.appender.db.tableName=t_logs log4j2.appender.db.columnList=logger,message log4j2.appender.db.username=root log4j2.appender.db.password=root log4j2.appender.db.driverClassName=com.mysql.jdbc.Driver log4j2.appender.db.url=jdbc:mysql://localhost:3306/test 以上配置表示将日志输出到数据库中。其中tableName表示日志表名,columnList表示要插入的列名,username和password表示数据库的用户名和密码,driverClassName表示数据库驱动名,url表示数据库连接地址。 3. 配置输出格式 可以通过PatternLayout的pattern属性来配置日志输出格式。常用的格式符有: %d 输出日志日期时间 %p 输出日志级别 %c 输出日志器名称 %m 输出日志信息 %n 输出平台独立的换行符 %r 输出自应用启动到输出log信息耗费的毫秒数 %t 输出产生该日志事件的线程名称 %L 输出产生该日志事件的代码处所在文件的行号 例如: log4j2.appender.console.layout.type=PatternLayout log4j2.appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c{1}:%L - %m%n 该配置表示输出日志的格式为:日期时间、日志级别、线程名、日志器名称、当前代码行号、日志信息。其中%-5p表示输出日志级别,占5个字符宽度,左对齐。%c{1}表示输出日志器名称,仅输出最后一个点后面的内容。%L表示输出当前代码所在行号。 以上就是log4j2.properties配置的详解。通过灵活配置该文件,可以实现灵活管理和控制日志输出的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值