如何为maven构建配置日志记录? maven生成的日志不会提供足够的信息,如每个日志语句的时间戳。哪里/什么日志配置文件maven使用?maven日志文件配置
回答
这似乎仍然Maven的一些关闭问题,因为你可以看到:
https://issues.apache.org/jira/browse/MNG-519
所提供的解决方法看起来不是太糟糕,但你需要修改Maven安装。
您可能知道这一点,它不会打印日期,但使用mvn -X
来打印详细输出。另外,你总是可以将maven的输出传给其他工具(假设你的shell环境包含了半途而废的工具)。例如mvn -X clean | awk '{print "("d")"$0}' "d=$(date)"
会在maven的每一行之前打印一个日期。我没有打扰格式化日期,但这很容易通过date
可执行文件的参数完成。请注意,这对于需要交互式用户输入的maven命令(例如maven archetype:generate
)并不适用。
@whaley提供的答案是一个很好的方向。但是,$(日期)只在开始时评估一次,然后保持不变。 我不得不使用Is there a Unix utility to prepend timestamps to stdin?提到的方法:
mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'
Maven的3.1版本和3.2允许基于SLF4J记录器的简单配置。您可以在命令行中指定“-l logfile”,并且SimpleLogger的默认配置位于配置文件conf/logging/simplelogger.properties
中。
如果您想打开默认时间戳(自启动以来的毫秒数),您可以简单地更改此文件中的属性:org.slf4j.simpleLogger.showDateTime=true
。
如@eckes所示,默认日志记录配置文件位于Maven 3.1.0及更高版本的/conf/logging/simplelogger.properties中。
更改 “org.slf4j.simpleLogger.showDateTime” 属性值设置为 “true”
org.slf4j.simpleLogger.showDateTime=true
要改变dateTimeFormat,默认是以毫秒为单位的相对时间。
在simplelogger.properties文件中添加以下行。
org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
参考文献:
Maven的日志记录:https://maven.apache.org/maven-logging.html
的DateFormats:http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html
- 1. pentaho日志文件配置
- 2. MySQL日志文件配置
- 3. Scrapy日志记录:配置日志重写日志文件
- 4. JBoss EAP 6.4.4中的空日志文件(日志配置文件)
- 5. 升压日志:日志设置文件和代码配置
- 6. Azure的文件共享日志配置
- 7. Python日志记录配置文件
- 8. log4j2配置空日志文件
- 9. 将GDB日志配置为文件
- 10. 配置jsnlog.log4net日志文件路径
- 11. WebSphere Liberty配置文件日志
- 12. 为Jetty的maven插件配置日志记录?
- 13. 使用Log4j XML配置文件配置Hibernate日志记录?
- 14. 配置Unitils日志
- 15. Wicket日志配置
- 16. 配置日志位置webjobs
- 17. 继承Maven配置文件
- 18. Maven配置文件执行
- 19. Maven激活配置文件
- 20. 配置log4net的写入不同的日志文件,没有配置文件
- 21. agetty日志文件位置
- 22. GDB日志文件位置
- 23. 日志文件的位置
- 24. IISExpress日志文件位置
- 25. Spring Boot - 如何为每个配置文件配置不同的日志配置?
- 26. 读取配置文件并创建日志文件
- 27. 配置文件和日志文件安装使用automake
- 28. 配置log4j日志文件名没有的.java文件类型
- 29. C#Log4net每日日志文件配置和使用示例
- 30. 事件日志记录的log4net配置
但`-l`是 “日志文件到所有建立输出去”,而不是日志配置。 – lexicore 2016-11-29 07:15:57