gpt4 book ai didi

mysql - 如何从 log4j 消息插入不同的数据库列

转载 作者:行者123 更新时间:2023-11-29 03:10:04 25 4
gpt4 key购买 nike

我正在 Eclipse 中构建一个 jsf Web 应用程序,并且我已经为该应用程序提供了一个记录器。我正在使用 log4j API 登录我服务器中的数据库。为了完成这个,我遵循了 this教程,一切正常。

放入记录器的“消息”具有以下格式:((userName)) << clientNumber>> - actionLogged

问题

因为这是进入一个数据库,我将不得不给出一个关于记录信息的报告,我需要能够通过用户名、客户编号和操作进行过滤,但我真的不能那样做如果我有一个超长字符串,其中包含“消息”列中的所有信息,那么我的第一个想法是:

可能的解决方案 #1有没有办法在我将消息插入数据库之前解析 log4j.properties 文件中的消息,以便我可以将解析的字符串插入到表中的相应列中?

可能的解决方案 #2有没有办法欺骗 log4j.properties 中的插入语句,以便我可以更改格式并在消息本身中添加逗号和引号,以便 API 插入其余列(即 *userName'、'clientNumber' , 'actionLogged )

可能的解决方案 #3当我插入数据库中的表时,我使用触发器解析消息并将值插入到第二个表(或同一个表)中,其中包含正确的 userName、clientNumber 和 Action 列。

请考虑一下,让我知道您认为最好的方法是什么。或者如果您想提出更好的解决方案,请继续,谢谢!!!

~我的

最佳答案

我向所有使用 log4J 的人推荐的是,如果您想要快速简便的方法,那就是在插入数据库之前创建一个触发器。这样您就可以解析传入的消息,因为您无法使用 log4J 真正解析它。所以我在我的表中添加了 3 个列,userName、ClientId 和 Action。然后我解析了 log4j“消息”并用它填充了 insert 中的字段。希望这对有一天遇到我遇到的同样麻烦的人有所帮助。

关于mysql - 如何从 log4j 消息插入不同的数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com