之前开发的一个系统,由于需要通过http方式,不断的接收message,并将message insert to DB,为了确保整个流程顺利进行,做了如下设计:
1、先将message写入文件,通过log4j记录,每分钟产生一个log
2、每5分钟处理一次log,将为处理的message insert to DB
以上方案完全可以应对目前的流量,但是在设计中却有一个漏洞,即对于产生的log的处理问题。由于产生的log一直没有处理,就这样run了1年的时间,直到最近发现log4j不能写文件,而且没有exception。
注意:以上系统部署在64位的linux系统中。
目前已经优化了设计方案,增加了对log的处理,问题没有再发生。
描述以上问题,仅仅是为了提醒那些设计系统的兄弟们,在考虑系统功能时,请务必考虑非功能设计,以及DB housekeeping的处理。
分享到:
相关推荐
本工程基于Eclipse IDE,配置了一个简单的Log4j设置,实现了每天自动将日志输出到一个特定命名格式的文件中,即“XXX_年月日时分.log”。下面我们将详细解析这个配置及其工作原理。 1. **Log4j介绍**: Log4j是一...
这里设置为60000毫秒,即1分钟,意味着Log4j会每分钟检查一次配置文件是否有更新。 4. `<listener>`标签引入了`org.springframework.web.util.Log4jConfigListener`监听器,这个监听器会在Web应用启动时读取`log4...
- `'.'yyyy-MM-dd-HH-mm`:每分钟创建一个新文件。 - **RollingFileAppender**: - **Threshold**:日志记录的最低级别,默认为WARN。 - **ImmediateFlush**:是否立即刷新,默认为true。 - **File**:日志文件...
为了自定义日志行为,如输出级别、文件路径、格式等,你需要一个`log4j.properties`或`log4j.xml`配置文件。例如,你可以指定`DEBUG`级别以上的日志信息写入到一个名为`app.log`的文件中。 总结,Spring的定时任务...
Log4j 是一个功能强大且灵活的日志记录系统,它可以将日志信息输出到控制台、文件、数据库等多种目标。配置文件是 Log4j 的核心组件,用于定义日志记录的级别、输出目标、格式等信息。 配置根 Logger -------------...
SLF4J(Simple Logging Facade for Java)是一个日志抽象层,允许开发者在运行时插入任意日志实现,而Logback是SLF4J的一个具体实现,它在性能和功能上优于早期的Log4j。 1. 替换现有Log4j 在项目中从Log4j切换到...
在本文中,我们将详细探讨如何在CentOS 7操作系统上部署Elasticsearch 6.5.4、Logstash 6.5.4、Kibana 6.5.4以及log4j2,以此组成一个ELK(Elasticsearch、Logstash和Kibana)日志处理和可视化平台。这个过程将涉及...
6. **日志配置**:在 `log4j.properties` 文件中,我们设置了日志级别为 `debug`,并配置了控制台输出,日志输出格式使用 `%5p` 表示优先级,`%t` 表示线程名,`%F` 和 `%L` 分别是日志产生时的源文件名和行号,`%m`...
关于slf4j,它是Simple Logging Facade for Java的缩写,是一个用于各种日志框架的简单抽象层,如log4j、logback等。它的主要目的是提供一个共同的日志API,让开发人员可以在不修改代码的情况下,更换底层的日志实现...
- `slf4j-log4j12-1.6.1.jar`:SLF4J到Log4j的适配器。 - `spring-context.jar`:Spring上下文支持。 #### 二、创建定时任务服务 接下来,我们将定义一个简单的定时任务服务类。在这个示例中,我们创建了一个名为`...
logback-classic 是 log4j 的一个改良版本,同时它完整实现了 slf4j API,使你可以很方便地更换成其它日志系统如 log4j 或 JDK14 Logging。 在 logback 中,Logger 是日志的记录器,把它关联到应用的对应的 context...
1、声明一个变量 r ,来表示一个圆的半径,并赋值 2、声明一个常量PI ,来表示圆周率3.14 3、通过 r 和 PI 来计算 该圆的周长,保存在变量l中 周长 = 2 * π * 半径 4、通过 r 和 PI 来计算 该圆的面积,保存在...
例如,在一台机器上编译一个大型项目,使用 distcc 可以将编译时间从 42 分钟减少到 17 分钟。 distcc 是一种非常有用的工具,可以帮助我们加速编译速度,提高开发效率。但是,在使用 distcc 时需要注意版本问题和...
1. **理解问题**:首先明确题目的要求,即从六个整数中选出四个数字组成一个24小时制的时间。这里的关键在于理解24小时制时间的有效范围:小时部分应在0到23之间,分钟部分应在0到59之间。 2. **枚举组合**:由于...
更新日志:[新增] 友情链接、合作伙伴功能[新增] 系统告功能[升级] Log4j2日志框架 升级至 2.4.1[升级] springframework框架升级至4.2.2版本[新增] 在线工单功能[修复] 标签删除后,导致原文章获取相关文章报错问题...
2. 程序用log4j记录日志,日志分正常信息跟错误信息两个级别,日志文件存放在log4j文件夹下。考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动...
1、此程序主要是通过java技术实现每个10分钟定时发送邮件,并且将邮件发送信息记录到日志文件中。 2、程序中用到的jar包sendMail-1.0.jar(邮件发送)、ant-apache-log4j-1.8.3.jar(记录日志)。 3、邮件标题、...
j += 5) { // 假设我们只显示每5分钟一个选项 $('#minuteSelect').append('<option value="' + j + '">' + ('0' + j).slice(-2) + '分</option>'); } // 处理选择事件 $('#hourSelect, #minuteSelect').on('...
测验包含4个问题,有些问题有多个部分,总时长80分钟,满分为80分。考生可以使用一张手写A4或8.5 x 11英寸的备忘单,但不允许使用计算器或可编程设备。 题目要求考生展示解题过程,因为评分不仅依据答案的正确性,...