SpringBoot配置log4j输出日志
2016-08-01 00:00
1026 查看
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50951329
《SpringBoot添加Email发送功能》
《SpringBoot配置log4j输出日志》
《SpringBoot定时任务说明》
《SpringBoot接口服务处理Whitelabel Error Page》
《构建基于阿里云OSS文件上传服务》
配置文件内容:
上述log4j.properties文件中,当前配置为线下开发模式,若部署线上环境,需要释放掉注释语句,并注释线下配置语句。
其中log4j.appender.info.File属性指明了输出日志文件的类型及路径和文件名,类型为info级别,路径为/Users/dddd/Documents/testspace/pms-api-services/logs/info/,输出的文件名为api_services_info。
日志配置文件中设置了三个级别的日志输出:info、error、debug,这些级别的日志输出,需要在java类中做相应的控制。
上述日志配置每天会产生一个新的日志文件。
其中static代码片段就是完成初始化工单,本例中以我之前的工程作为参考,具体的路径还需依据每个人自己工程的实际路径来设置。
info文件夹中的日志
以上有什么错误的地方,欢迎大家指正。
《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().getResource("").getPath()+"pms-api-services/config/log4j.properties"; logger.info("Log4j线上生产模式初始化。。。"); }else{ // 配置本地地址 log4jPath = App.class.getClassLoader().getResource("").getPath()+"log4j.properties"; logger.info("Log4j线下开发模式初始化。。。"); } logger.info("初始化Log4j。。。。"); logger.info("path is "+ log4jPath); PropertyConfigurator.configure(log4jPath); }catch (Exception e){ logger.error(e.toString()); } } public static void main(String[] args) { final String[] temp = args; logger.info("oops: main入口函数编码-" +System.getProperty("file.encoding")); if(Constant.LOG_MODE == 0){ SpringApplication.run(App.class, args); logger.info("oops: 线下开发测试"); }else{ logger.info("oops:" + args[0]); } if(ArrayUtils.isNotEmpty(args)) { // 如果你的应用程序,运行后不自动退出,那么处理start时不要执行正常的代码,否则在部署测试 appctl.sh 的时候,会一直等待进程退出 if(args[0].equals("startup")) { new Thread( new Runnable(){ public void run(){ System.out.println("启动Mythread子线程"); logger.info("启动Mythread子线程"); SpringApplication.run(App.class, temp); } }).start(); System.out.println("program startup"); logger.info("program startup"); }else if(args[0].equals("stop")) { System.out.println("program stop"); logger.info("program stop"); }else if(args[0].equals("restart")) { System.out.println("program restart"); logger.info("program restart"); }else if(args[0].equals("status")) { System.out.println("program status"); logger.info("program status"); } } }
其中static代码片段就是完成初始化工单,本例中以我之前的工程作为参考,具体的路径还需依据每个人自己工程的实际路径来设置。
3、log4j日志输出结果
线上服务器日志目录info文件夹中的日志
以上有什么错误的地方,欢迎大家指正。
相关文章推荐
- SpringBoot配置log4j输出日志
- Spring boot配置log4j输出日志
- Spring boot配置log4j输出日志
- spring boot配置logback日志输出
- Struts2、Spring、Mbatis中输出日志log4j.properties文件的配置
- spring boot 日志配置 log4j
- [日志] spring boot日志输出配置
- springboot 配置logback控制台彩色打印,按等级输出日志文件
- Spring Boot -- 日志配置 - logback 和 log4j2
- spring 中配置log4j输出日志常见的一个小问题解决方法
- spring-boot配置log4j日志
- Spring Boot 配置日志输出等级
- Spring Boot系列教程六:日志输出配置log4j2
- Spring Boot日志配置logback,log4j
- spring boot默认日志配置,以及改用log4j日志配置
- SpringBoot 配置log4j2日志输出
- spring boot 配置日志输出路径
- logback:输出日志到文件(滚动)&& Spring Boot干货系列:(七)默认日志logback配置解析(转载)
- spring boot 配置log4j 日志
- Spring Boot系列教程六:日志输出配置log4j2