JavaEE应用程序:如何将日志记录放入JPA实体中?

发布于 2024-12-01 14:19:48 字数 285 浏览 0 评论 0原文

我有一个应用程序,我希望将某些操作日志放入实体中。 MLore 很清楚,我的应用程序将提供一组任务,我希望这些任务能够写入日志,稍后用户可以在 Web UI 中看到。

在我看来,实现这一目标的更简单方法是让任务将其日志写入关联的实体中,并存储在数据库中。我说得对吗?如果是这样,该怎么做?创建一个写入 String/Blob 的日志处理程序?

编辑 请注意,在某些情况下,我的任务将在 Glassfish 客户端中运行,而不是在服务器中运行,这使得直接 JDBC 写入数据库变得无关紧要。

I have an application in whioch I want certain operation logs to be put in entities.
MLore clearly, my application will provide a set of tasks, and I want these tasks to be able to write logs, later visible by users in web UI.

To my mind, the easier way to achieve that is to have tasks write their log in associated entities, stored in DB. Am I right ? and, if so, how to do that ? Create a log handler that writes in a String/Blob ?

EDIT Notice that, in some cases, my tasks will be run in Glassfish client, and not in server, which makes direct JDBC writing to DB irrelevant.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

知足的幸福 2024-12-08 14:19:48

如果这些任务使用 Log4j 之类的工具写入日志,您可以使用 Log4j JDBC Appender (在这里查看如何操作)。如果您使用其他日志引擎,我想它也有类似的东西。

之后,您只需将该表与实体进行映射,并通过 JPA 进行常规查询(log4j 会在原始 SQL 中写入该表,但这对于您的情况来说应该不是问题)。

If these tasks are writing logs using something like Log4j, you can transparently redirect these logs to your database using the Log4j JDBC Appender (see here how). If you use another Logging engine, I suppose it has something similar to this.

Afterwards, you just have to map that table with an entity, and do regular queries through JPA (log4j would write on that table in raw SQL, but that should not be a problem for your case).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文