【问题标题】:Java Message logging Web ApplicationJava 消息记录 Web 应用程序
【发布时间】:2009-09-21 02:30:43
【问题描述】:

我的 Apache Tomcat 服务器正在从基于 Java 的客户端应用程序获取定期更新,目前该场景只是一个客户端并与服务器通信。
我想用时间戳将来自客户端的消息记录到服务器上,什么样的框架可以帮助我实现这一目标?

【问题讨论】:

  • 这些消息到底是什么?它们包含什么?它们是基于文本的吗? “我想用时间戳记录消息 [...]”到底是什么意思?你想持久地存储消息吗?您是否只想将其内容写入文本文件?你能详细说明一下吗?
  • 我刚刚从我的 java 客户端接收到 3 到 4 个实时值,这些值在 HTTP 请求的查询字符串中。我想要一种方法来保存或记录这些值,然后在服务器上进行一些处理,例如使用这些数据显示图形/图表。
  • 您的意思是 1) 处理和生成带有一些图形/图表的网页还是 2) 使用 Excel 等工具来处理书面值?
  • 处理并生成包含上述项目的网页...
  • 好的。然后将您的消息写入数据库。我将编辑我的答案。

标签: java logging server-side


【解决方案1】:

编辑:OP 的目标实际上很不明确,经过一些澄清后我正在修改我的答案。

好吧,我不确定,但也许日志框架会满足您的需求。如果是这样,请查看:

  • Log4J:最著名的日志框架,被广泛使用。
  • Java Logging又名java.util.logging:没有成功替换Log4J。
  • Logback:“Logback 旨在作为流行的 log4j 项目的继承者。除了许多个人贡献者之外,它还由 log4j 的创始人 Ceki Gülcü 设计”。
  • SL4J:“Java 的简单日志记录外观作为各种日志框架的简单外观或抽象,例如 java.util.logging、log4j 和 logback,允许最终用户在部署时插入所需的日志框架时间”。

然后选择其中一个(我会使用 Log4J 或 Logback)。

要保存您的消息以供 web 应用程序稍后处理(例如,生成带有一些图形/图表的网页),最好的方法是使用数据库。只需从带有时间戳列的简单表中读取/写入它们即可。

如果您对 Java、JDBC、持久性、连接池、数据源等不是很熟悉,我建议您使用 Spring 框架,因为它可以隐藏大部分复杂性。对于数据库部分,请查看 Spring 文档中的 Chapter 11. Data access using JDBC。请特别注意JdbcTemplateSimpleJdbcTemplate,它们应该可以让您完成工作。

【讨论】:

  • 我真的不知道!...坦率地说,我在服务器端工作的经验并不多,所以任何帮助都会很棒!
  • 日志框架是帮助程序员将日志语句输出到各种输出目标的工具。 Log4J 常见问题解答可能会帮助您了解日志记录框架是关于 logging.apache.org/log4j/1.2/faq.html
【解决方案2】:

创建一个特殊的 JSP 页面来接受日志条目,并调用它

http://..... foo.jsp?l=the%20stuff%to%log(即 URL 编码)

然后您只需要选择“l”参数并使用它执行您需要执行的操作。初始实现可能是在 servlet 上下文中调用 log(String s) 方法。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多