我在jenkins服务器上为jenkins.security.SecurityListener日志设置了一个记录器。我可以在门户网站中查看日志,但找不到存储在服务器上的位置。我希望能够访问服务器上的这些日志。
我遇到了同样的问题——想要将jenkins.security.SecurityListener
输出重定向到一个文件。
在我的实现中,Jenkins作为ECS Fargate任务在AWS上运行。/var/jenkins_home
目录安装到EFS文件系统。我还有一个CloudWatch代理与Jenkins一起运行,安装相同的EFS访问点。因此,写入EFS的任何日志都可以被轮询/监控并传输到CloudWatch。
我发现的最好的解决方案是安装"Support Core"插件——它会自动将所有日志(包括System Log -> Log Recorders
中的自定义配置(重定向到/var/jenkins_home/logs
以及许多其他功能。
注意:这个插件不会将容器日志(通过docker logs <container_id>
可见(写入文件,要在Jenkins UI之外捕获/查看这些日志,需要将几个AWS日志驱动程序之一应用于您的ECS任务。
这是我找到答案的那一页。
当您谈论在webportal中查看日志时,您谈论的是控制台输出吗?在这种情况下,有一些选择。
对于jenkins构建日志,默认情况下,日志应在/var/log/jenkins/jenkin.log中可用,除非在/etc/default/jenkins(对于*.deb(或通过/etc/sysconfig/jenkin(对于*/rpm(进行自定义。
另一种选择是使用curl或wget命令在linux服务器中下载它们。
卷曲http://jenkinsUrl/job/<生成名称><建筑编号>consoleText-OutFile
另一个常见位置:${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/log
您还可以使用插件来捕获jenkins控制台日志,并根据您的选择将其存储在服务器中的任何位置。插件可用于此。
谢谢,Subhadeep