日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
spring boot 项目搭建、使用日志记录
模板项目下载链接:https://pan.baidu.com/s/1E7P7agwkyhx67q6joDGDWw
提取码:35w2
项目打包和运行:
1.打包要打为war包,并把打包好的war包名改为ROOT.war,然后把ROOT.war放到apache-tomcat-7.0.65\webapps 目录下,当执行apache-tomcat-7.0.65\bin目录下的 startup.bat/startup.sh 即会自动解压ROOT.war并自动运行
pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>util.Microseer</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
项目名\src\main\webapp\WEB-INF\web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<listener>
<!--运行主类的全限定类名,需要创建class 主类 implements ServletContextListener-->
<listener-class>com.xx.xx</listener-class>
</listener>
<!--<servlet>-->
<!--<servlet-name>TimeUtilServlet</servlet-name>-->
<!--<servlet-class>com.xx.xx</servlet-class>-->
<!--<!– 启动顺序 –>-->
<!--<load-on-startup>1</load-on-startup>-->
<!--</servlet>-->
<!--<servlet-mapping>-->
<!--<servlet-name>TimeUtilServlet</servlet-name>-->
<!--<url-pattern>/</url-pattern>-->
<!--</servlet-mapping>-->
</web-app>
项目名\src\main\resources 目录下的配置文件
log4j.properties
log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%n%d%p[%c]-%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
#nginxERROR.log日志文件会生成在tomcat的logs目录下
log4j.appender.R.File=${catalina.home}/logs/nginxERROR.log
#nginxERROR.log日志文件会生成在当前项目文件夹的根目录下
#log4j.appender.R.File=nginxERROR.log
log4j.appender.R.MaxFileSize=5MB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n
log4j.logger.com.codefutures=DEBUG
在tomcat中自动运行的主类:需要创建 class 主类 implements ServletContextListener
package com.xx;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class 主类 implements ServletContextListener
{
private static Logger logger = LogManager.getLogger(RandomAccessFile_linux.class);
}
日志记录的工具类LogManager
Logger logger = LogManager.getLogger(xx.class);
logger.error(e.getMessage());
logger.info(e.getMessage());