【问题标题】:how to create log files in spring boot?如何在 Spring Boot 中创建日志文件?
【发布时间】:2017-05-08 17:03:48
【问题描述】:
我已经使用 Spring Boot 开发了一个 Web 应用程序,它在我的本地机器上运行良好。现在我想在 Web 服务器中运行该应用程序。所以我打算将它导出为 WAR 文件并部署它。但是现在只有我了解日志记录。所以我添加了 log4j jar 文件,我应该编写一些代码来创建日志还是由 spring 处理它?我是第一次部署 Web 应用程序,我不知道关于它。任何帮助表示赞赏。
【问题讨论】:
标签:
java
spring
web-applications
deployment
【解决方案1】:
如果你像这样添加 log4j 依赖:
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
你应该添加一些这样的代码:
public Controller{
private static Logger logger = Logger.getLogger(Controller.class);
public void log(){
logger.info("log4j is work");
}
}
不要忘记添加lo4j配置文件log4j.properties。你可以使用follow config方便。
log4j.rootLogger = INFO
log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFO.File = ${catalina.home}/logs/info.log
log4j.appender.INFO.Append = true
log4j.appender.INFO.Threshold = INFO
log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
此配置会将日志输出到${catalina.home}/logs/info.log.${catalina.home} 表示servlet 容器目录。
请通过 google 了解更复杂的 log4j 配置 :)
【解决方案2】:
在application.properties 中配置这个值:
logging.level: DEBUG
logging.level: ERROR
logging.file: ${HOME}/application.log
【解决方案3】:
在application.properties 中,您可以配置以下值:
logging.config=file:Path to log4j.properties
并将您的 log4j.properties 文件配置为:
log4j.appender.DEBUG_APPENDER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG_APPENDER.File=/path/to store/logFile/logFile-debug.log
log4j.appender.DEBUG_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.DEBUG_APPENDER.layout.conversionPattern=[%t] %d{HH:mm:ss,SSS} %-5p %l - %m%n
log4j.appender.DEBUG_APPENDER.Threshold=debug
log4j.appender.DEBUG_APPENDER.DatePattern='.'yyyy-MM-dd
对info 和error 日志进行相同的配置。