报错过程
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路径下
扩展:
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