搭建maven工程,本人搭建的是jar版的maven
添加log4j和slf4j的maven依赖:
<!--日志 start-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${commons.log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${commons.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${commons.slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${commons.slf4j.version}</version>
<scope>test</scope>
</dependency>
maven版本号:
<commons.log4j.version>1.2.17</commons.log4j.version>
<commons.slf4j.version>1.7.25</commons.slf4j.version>
建立配置文件log4j.properties,这里的配置文件建立位置可以在src下面,或者在别的路径下面,但是需要在idea或eclipse中指定文件作为资源文件。在一般情况下,项目正常启动执行打印代码,而没日志打印,问题可能发生在并没有为开发工具指定log4j.properties作为资源文件
### 输出信息到控制抬 ###
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 级别以上的日志到=C://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = e://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 级别以上的日志到=C://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =C://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
搭建完成,项目结构如图:
编写测试类:
@Test
public void print1(){
System.out.println("=====================================================");
// 记录debug级别的信息
logger.debug("This is a debug message.");
// 记录info级别的信息
logger.info("This is an info message.");
// 记录error级别的信息
logger.error("This is an error message.");
System.out.println("=====================================================");
}
执行代码,查看打印:
至此,项目部署完成。