Rainbond使用webapp-runner项目来支持运行java-war源码构建。
所以Rainbond也支持webapp-runner的一些高级特性,其中包含开启访问日志。那么针对这个案例场景,我们可以快速的通过这一特性,以及一条运维命令来将所有日志打印到一个日志文件中,假设我们希望将日志文件打印到 /data/log
文件中。那么我们应该持久化 /data
目录,并且修改启动命令如下:
web: java -jar $JAVA_OPTS ./webapp-runner.jar --access-log --port $PORT java-war-demo.war | tee /data/log

可以和默认生成的启动命令做比对,我们修改了两点:
- --access-log 这个参数用来开启访问日志
- tee /data/log 这个运维命令可以保持标准输出的同时,保存到指定的文件中去
有了这些,再结合 Rainbond日志管理和插件制作教程 就可以实现将日志收集到ES中去了。
同时启动命令支持直接运行一个脚本,我们可以借助脚本的力量实现日志分割等高级操作,欢迎实现了的同学将经验分享出来。
创建出的日志文件内容如下:
