【问题标题】:Save Logging messages when I click html link using log4j in java web application当我在 java Web 应用程序中使用 log4j 单击 html 链接时保存日志记录消息
【发布时间】:2014-03-07 16:51:55
【问题描述】:

单击 html 链接时,我需要将日志消息保存到文件中。我在 Eclipse 中创建了动态 Web 项目和 .jsp Web 文件。我也在使用 log4j 进行日志记录。

现在我创建 log4j.properties 文件以将日志消息保存在文件中。我还实现了 Logger:

private static final Logger logger = LoggerFactory.getLogger(Application.class);

和消息:

logger.info("start app");

但是当我单击某些网页链接或从创建的 .jsp 文件中喜欢的文本时,我需要保存日志记录。类似这样的日志消息:

2014-06-03 09:53:36,001 INFO root:01 - start app
2014-06-03 09:55:01,002 INFO root:02 - Selected: LINKED TEXT  

请帮助或建议。

提前致谢

【问题讨论】:

  • 请详细说明您的情况。到目前为止你做了什么,还有什么没有实现?您现在如何存储日志? “当我舔 HTML 时”是什么意思?
  • 只是检查...也许您只是想在运行动态 Web 项目时将 eclipse 中显示的日志重定向到一个文件中,对吗?
  • @leo no... 我只想在单击 .jsp 文件中的一些链接文本或喜欢的网页时保存日志记录。
  • 你的意思是,点击某个链接后你会开始写日志,对吧?因为日志实际上是一个流
  • @leo 是的...你能帮忙或建议什么吗?

标签: java jsp logging web log4j


【解决方案1】:

这就是 JSP 的工作原理。

JSP 被转换为 servlet,在服务器端运行,为 http 请求提供服务。

当您单击浏览器中的链接时,您将在浏览器中生成一个事件。此事件可能会或可能不会生成 http 请求,并且此请求可能会或可能不会发送到您的 servlet。

如果你需要在浏览器中捕获事件,我猜你有两种方法

[1] 在客户端捕获事件,例如使用浏览器插件。这就是 selenium 等自动化插件的工作原理。它们是在浏览器(在客户端)中运行的代码片段。

[2] 将页面中的一些 javascript 代码附加到每个链接的单击事件中,因此如果有人单击某个锚元素,您还会向您的 servlet 生成一个 http 请求,以便您可以记录该事件。这种方法的问题是您需要所有页面的 javascript 代码才能做到这一点。

【讨论】:

  • 非常感谢您的回答,但我不需要启用或禁用日志记录。如果可能的话,当我单击某个链接以保存在日志文件中时,我需要。
  • 您说过“当我在 java Web 应用程序中使用 log4j 单击 html 链接时保存日志记录消息”
  • 请更具体。首先,您想在日志文件中保存什么,其次“保存在日志文件中”是什么意思?当然,如果你有一个记录器,内容将进入一个记录文件
  • 你想记录点击链接的事件,是吗?
  • 我创建了搜索表单...当我搜索某个关键字时,我有超链接文本列表。当我单击一些超链接文本时,我希望将其保存在日志记录中。例如:2014-06-03 09:55:01,002 INFO root:02 - 选择:链接文本
猜你喜欢
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多