转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50951329
- 《SpringBoot添加Email发送功能》
- 《SpringBoot配置log4j输出日志》
- 《SpringBoot定时任务说明》
- 《SpringBoot接口服务处理Whitelabel Error Page》
- 《构建基于阿里云OSS文件上传服务》
1、SpringBoot日志输出
springboot也可以用logback日志输出,但之前用了段时间,感觉还是没有log4j的方便,可以设置每天输出一个日志。
2、SpringBoot配置log4j
Springboot配置log4j主要包括两个步骤:第一步,添加log4j.properties配置文件;第二步,初始化配置文件。
2.1、配置log4j文件
接下来看看具体的操作方法,添加log4j.properties配置文件,配置文件添加的路径是工程中的src/main/resources下面,如下图:
配置文件内容:
#log4j.rootLogger=CONSOLE,info,error,DEBUG
log4j.rootLogger=info,error,CONSOLE,DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = info
log4j.appender.info.append=true
#log4j.appender.info.File=/home/admin/pms-api-services/logs/info/api_services_info
log4j.appender.info.File=/Users/dddd/Documents/testspace/pms-api-services/logs/info/api_services_info
log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = error
log4j.appender.error.append=true
#log4j.appender.error.File=/home/admin/pms-api-services/logs/error/api_services_error
log4j.appender.error.File=/Users/dddd/Documents/testspace/pms-api-services/logs/error/api_services_error
log4j.logger.DEBUG=DEBUG
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout
log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Threshold = DEBUG
log4j.appender.DEBUG.append=true
#log4j.appender.DEBUG.File=/home/admin/pms-api-services/logs/debug/api_services_debug
log4j.appender.DEBUG.File=/Users/dddd/Documents/testspace/pms-api-services/logs/debug/api_services_debug
### Debug
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
上述log4j.properties文件中,当前配置为线下开发模式,若部署线上环境,需要释放掉注释语句,并注释线下配置语句。
#log4j.appender.info.File=/home/admin/pms-api-services/logs/info/api_services_info
log4j.appender.info.File=/Users/dddd/Documents/testspace/pms-api-services/logs/info/api_services_info
其中log4j.appender.info.File属性指明了输出日志文件的类型及路径和文件名,类型为info级别,路径为/Users/dddd/Documents/testspace/pms-api-services/logs/info/,输出的文件名为api_services_info。
日志配置文件中设置了三个级别的日志输出:info、error、debug,这些级别的日志输出,需要在java类中做相应的控制。
上述日志配置每天会产生一个新的日志文件。
2.2、初始化log4j配置
springboot启动是通过main入口函数,所以需要在main入口函数中设置log4j初始化。
public class App {
private static final Logger logger = LoggerFactory.getLogger(App.class);
@Value("${server.port}")
private int port;
@Value("${server.sessionTimeout}")
private int sessionTimeout;
static {
try{
// 初始化log4j
String log4jPath = "";
if(Constant.LOG_MODE == 1){
// 配置线上地址
log4jPath = App.class.getClassLoader().