2019.3.5 控制台输出log4j得有些报错信息

Posted qichunlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019.3.5 控制台输出log4j得有些报错信息相关的知识,希望对你有一定的参考价值。

报错内容如下

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

技术图片

解决办法如下:

创建一个log4j.properties

### 设置###
log4j.rootLogger = off

### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=D://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=D://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n


############ 输出到数据库logginfo表############
log4j.appender.database.Threshold=info
#定义什么级别的错误将写入到数据库中
log4j.appender.database.BufferSize=1
#设置缓存大小,就是当有1条日志信息时才往数据库插一次
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.driver=oracle.jdbc.OracleDriver
#设置要将日志插入到数据库的驱动
log4j.appender.database.URL=jdbc:oracle:thin:@119.23.211.14:1521:orcl
log4j.appender.database.user=Legend
log4j.appender.database.password=Legend
log4j.appender.database.sql=insert into loginfo (Class,Mothod,createTime,LogLevel,MSG) values ('%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
log4j.appender.database.layout=org.apache.log4j.PatternLayout

创建一个log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
        </Console>
 
        <RollingFile name="RollingFile" filename="log/test.log"
            filepattern="${logPath}/%d{YYYYMMddHHmmss}-fargo.log">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="20" />
        </RollingFile>
 
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</Configuration>

将上面的两个文件放入到项目的src目录下面

测试

技术图片

很舒服哈哈哈哈 欢迎关注

以上是关于2019.3.5 控制台输出log4j得有些报错信息的主要内容,如果未能解决你的问题,请参考以下文章

kafka利用log4j输出日志到哪里

log4j配置之后报错如何解决?

控制台输出日志混乱,log4j配置输出格式无效,怎么设置啊?

log4j 控制台不输出,jar包也有,就是启动项目,应该输出在控制台的日志信息根本就没输出出来!

使用 Log4j 在 控制台和文件输出信息的xml 配置!

log4j怎样控制只输出自己写的代码的日志,不输出框架中的日志