本文讲述的是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中读取配置文件的
<!-- 引入db.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
上面文件是我随便找了个项目中拷过来的,如果想知道里面具体表示的是什么,可以点击【跳转链接】。
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文件,还是会出现文章最开始的那个警告信息,加入配置信息后,控制台会正常打印日志信息
项目启动时也不会再报日志的警告信息。
如果有写的不对的地方,请大家多多批评指正,非常感谢!