成功解决:ERROR StatusLogger No log4j2 configuration file found.

简介: 成功解决:ERROR StatusLogger No log4j2 configuration file found.

报错过程

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


相关文章
|
5月前
|
SQL 监控 关系型数据库
|
3月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
271 6
|
3月前
|
安全 网络安全 数据安全/隐私保护
auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用?
【8月更文挑战第2天】auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用?
51 1
|
4月前
|
数据库连接
系统日志使用问题之如何区分WARN和ERROR级别的日志
系统日志使用问题之如何区分WARN和ERROR级别的日志
|
3月前
|
安全 网络安全 数据安全/隐私保护
auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用
【8月更文挑战第14天】auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用
88 0
|
4月前
|
架构师 存储
软件交付问题之在设计领域模型和状态机时,模型和状态机,如何解决
软件交付问题之在设计领域模型和状态机时,模型和状态机,如何解决
|
4月前
|
关系型数据库 MySQL 数据库
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
223 2
|
5月前
|
SQL 监控 关系型数据库
|
6月前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
194 1
|
11天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
116 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板