日安,
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.file}</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>%d{yyyy-MM-dd HH}.%i.log</fileNamePattern> <maxFileSize>30MB</maxFileSize> <maxHistory>3</maxHistory> <totalSizeCap>50MB</totalSizeCap> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n</pattern> </encoder> </appender>
到目前为止我所得到/观察到的是:
简而言之,在我得到的3个要求中,我只能(1)或(2&3)。
你能帮我处理一下这个吗?
感谢并致以最良好的问候,
据我所知,EMR支持的日志到S3的自动备份只在作业结束时起作用,因为它基于AWS最初为批处理作业实现的后台日志加载器。也许有一种方法可以让它对滚动原木起作用,我只是从来没有听说过。
我自己还没试过,但如果必须的话,我可能会试一下下面的方法:
s3fs
在EC2实例上挂载S3。logrotate
(或等效项)以自动复制和清理日志文件。您可以使用引导操作来自动设置上述所有操作。
如果s3fs
给您带来问题,那么您可以多编写一些脚本,直接使用awss3
命令来同步日志,然后在复制日志后将其删除。
我有一个EMR集群,运行一个火花流作业成功了几天。但几天后,群集因步骤失败而终止。我查了日志上面写着 对于此错误,我进行了检查,发现对于JRE内存不足。 我发现集群创建EMR steps日志并存储在路径/mnt/var/logs/hadoop/steps/step_id/上,在创建集群时,我给出了一个logUri路径,日志根据该路径复制到s3位置。所以我的猜测是,由于这些日志,步骤失败正在发生。
问题内容: 我使用以下命令读取了Docker容器日志输出 我通过调用来将大量数据记录到node.js应用程序的日志中。我需要清理日志,因为它太长了,并且该命令首先运行日志的现有行,然后结束。我该如何清洁使其再次变短?我想查看类似的命令: 但是它似乎不存在。 问题答案: 首先,如果只需要查看较少的输出,则可以让docker只向您显示更新的行: 或者,您可以限制一些行: 要删除Docker for L
问题内容: 编辑:由于似乎没有解决方案,或者我正在做一些人都不知道的非标准操作-我将修订我的问题,并问:当python应用正在制作日志时,完成记录的最佳方法是什么?很多系统调用? 我的应用程序有两种模式。在交互模式下,我希望所有输出都转到屏幕以及日志文件中,包括所有系统调用的输出。在守护程序模式下,所有输出进入日志。守护程序模式使用时效果很好。我找不到在不修改每个系统调用的情况下以交互方式将所有输
问题内容: 我试图捕获与表单一起发送的文件,并在对其进行保存之前对其执行一些操作。因此,我需要在temp目录中创建此文件的副本,但是我不知道如何到达它。Shutil的功能无法复制此文件,因为没有路径。那么,是否有其他方法可以执行此操作? 我的代码: 引起: 和调试: 问题答案: 这是类似的问题,可能会有所帮助。
我们有多个Apache Spark作业,为了调试和排除故障,我们需要记录任务执行的一些事件和参数。 在Apache Spark工作代码中进行日志记录的做法是什么? 显而易见的解决方案是:使用Spark的loginfo(和其他方法,但不推荐使用)、一些日志记录框架(如log4s)或简单的println。 在我的Java开发人员背景下,我觉得直接将日志写入控制台是一种不好的做法。我们总是为它使用日志框
我有一个flink作业,它使用logback作为日志框架,因为日志需要发送到logstash,logback有一个logstash appender(logstash logback appender)。appender工作正常,当flink作业从Eclipse这样的IDE运行时,我可以在logstash中看到应用程序日志。日志记录配置文件logback。xml放在src/main/resourc