这篇文章写ssm框架的maven web项目加入日志配置(对上一篇文章进行补充),没有添加日志配置,启动项目时,会出现如下所示信息
下面说下怎么样解决掉这个问题(虽然这个不影响之前的测试,但是程序中的日志并不会打印)
依旧先上个目录图(javaEE切换成java模式)
1、pom.xml加入log4j的依赖配置(之前项目中已经加好了,没加的可以加下),配置文件如下:
<properties> . . . <slf4j.version>1.7.7</slf4j.version> . . . </properties> <!-- 日志打印 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency>
2、将appcationContext.xml中读取配置文件的
<!-- 引入*.properties属性文件 --> <context:property-placeholder location="classpath:db.properties"/>
修改成
<!-- 引入多个以properties结尾的配置文件 --> <context:property-placeholder location="classpath:*.properties"/>
3、添加log4j.properties
# Global logging configuration
log4j.rootLogger=info, stdout, E
# JDBC and MyBatis logging configuration...
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
# Save error message to file...
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ../logs/error.log
log4j.appender.E.DatePattern=yyyy-MM-dd'.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
上面文件是我随便找了个项目中拷过来的,如果想知道里面具体表示的是什么,可以点这个链接:https://www.cnblogs.com/likui360/p/7992982.html
4、写测试方法
package com.su.study.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LogTest { /** * 日志对象 */ private static Logger LOG = LoggerFactory.getLogger(LogTest.class); public static void main(String[] args) { LOG.info("日志测试~~~"); } }
5、测试
直接启动main方法,如果没有加入log4j.properties文件,还是会出现文章最开始的那个警告信息,加入配置信息后,控制台会正常打印日志信息
项目启动时也不会再报日志的警告信息。