报错过程

java文件中使用private static Logger logger = LogManager.getLogger(Test.class);创建了一个log对象,

在运行代码的时候出现了下列错误:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.

翻译一下就知道,没有发现log4j2配置文件

解决

没有log4j2那就添加一个咯,命名为log4j2.xml,对应org.apache.logging.log4j.Logger

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
	<Properties>
		<property name="log_level" value="info" />
		<Property name="log_dir" value="log" />
		<property name="log_pattern"
			value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] - [%t] %logger - %m%n" />
		<property name="file_name" value="test" />
		<property name="every_file_size" value="100 MB" />
	</Properties>
	<Appenders>
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="${log_pattern}" />
		</Console>
		<RollingFile name="RollingFile"
			filename="${log_dir}/${file_name}.log"
			filepattern="${log_dir}/$${date:yyyy-MM}/${file_name}-%d{yyyy-MM-dd}-%i.log">
			<ThresholdFilter level="DEBUG" onMatch="ACCEPT"
				onMismatch="DENY" />
			<PatternLayout pattern="${log_pattern}" />
			<Policies>
				<SizeBasedTriggeringPolicy
					size="${every_file_size}" />
				<TimeBasedTriggeringPolicy modulate="true"
					interval="1" />
			</Policies>
			<DefaultRolloverStrategy max="20" />
		</RollingFile>

		<RollingFile name="RollingFileErr"
			fileName="${log_dir}/${file_name}-warnerr.log"
			filePattern="${log_dir}/$${date:yyyy-MM}/${file_name}-%d{yyyy-MM-dd}-warnerr-%i.log">
			<ThresholdFilter level="WARN" onMatch="ACCEPT"
				onMismatch="DENY" />
			<PatternLayout pattern="${log_pattern}" />
			<Policies>
				<SizeBasedTriggeringPolicy
					size="${every_file_size}" />
				<TimeBasedTriggeringPolicy modulate="true"
					interval="1" />
			</Policies>
		</RollingFile>
	</Appenders>
	<Loggers>
		<Root level="${log_level}">
			<AppenderRef ref="Console" />
			<AppenderRef ref="RollingFile" />
			<appender-ref ref="RollingFileErr" />
		</Root>
	</Loggers>
</Configuration>

那么文件是有了,该放在哪里呢?

在sourceDirectory或者testSourceDirectory路径下

成功解决:ERROR StatusLogger No log4j2 configuration file found._配置文件

扩展:

log4j.properties,对应 org.apache.log4j.Logger

# priority  :debug<info<warn<error
#you cannot specify every priority with different file for log4j 
log4j.rootLogger=debug,stdout,info,debug,warn,error 
 
#console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern= [%-d{yyyy-MM-dd HH\:mm\:ss}]-[%p]-[%t] %l\: %m%n
#info log
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.info.File=logs/info.log
log4j.appender.info.Append=true
log4j.appender.info.Threshold=INFO
log4j.appender.info.layout=org.apache.log4j.PatternLayout 
log4j.appender.info.layout.ConversionPattern=[%-d{yyyy-MM-dd HH\:mm\:ss}]-[%p]-[%t] %l\: %m%n
#debug log
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug.File=logs/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug.layout.ConversionPattern=[%-d{yyyy-MM-dd HH\:mm\:ss}]-[%p]-[%t] %l\: %m%n
#warn log
log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn.File=logs/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=[%-d{yyyy-MM-dd HH\:mm\:ss}]-[%p]-[%t] %l\: %m%n
#error
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error.File = logs/error.log 
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = [%-d{yyyy-MM-dd HH\:mm\:ss}]-[%p]-[%t] %l\: %m%n