关闭 HtmlUnit 警告
您知道如何关闭 HtmlUnit 中的警告、注释和错误吗?
Do you know how can I turn Warnings, Notes, Errors in HtmlUnit off?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您知道如何关闭 HtmlUnit 中的警告、注释和错误吗?
Do you know how can I turn Warnings, Notes, Errors in HtmlUnit off?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(18)
将其放在代码开头的某个位置;它会闭上它的脏嘴:
Put this somewhere around the start of your code; it will shut its dirty mouth:
Arsen Zahray 的回答中的代码有助于删除 HtmlUnit 生成的几乎所有日志。
但一项编辑有助于将它们全部删除。使用:
代替:
The code in Arsen Zahray's answer helped in removing almost all the logs generated by HtmlUnit.
But one edit helps to remove them all. Use:
instead of:
要从最新版本的 HtmlUnit 中删除所有输出,您只需在静态块或主类中添加这些行:
不需要像其他答案所述那样重写任何方法。
To remove all output from the latest version of HtmlUnit you just have to add these lines in a static block or in your main class:
It is NOT needed to override any method as some other answers state.
尝试使用以下代码将日志记录级别关闭:
Try the following code to turn the logging level down to off:
您可以在此处获取有关如何操作 HtmlUnit 日志记录的信息。
这是我添加到
log4j.properties
中的内容,以便禁用来自 HtmlUnit 组件的详细调试消息:Here you can get info on how to manipulate logging of HtmlUnit.
This is what I added to my
log4j.properties
in order to disable verbose debugging messages from HtmlUnit components:我正在使用下面的代码并且它运行得很好:
I am using the code below and it works perfectly:
只需将此字符串添加到您的
log4.properties
中即可:Just add this string to your
log4.properties
:关闭记录器。但这不是一个好的解决方案,因为您可能希望在日志中出现一些不常见的问题。
我知道 HtmlUnit 会产生很多不重要的异常、警告等。您可以使用以下方法抑制其中的一些:
Turn the loggers off. But that is not a good solution, since you might want to have some uncommon issues in the logs.
I know HtmlUnit produces a lot of unimportant exceptions, warnings, etc. You can suppress of few of those using:
现在在 HtmlUnit 2.9 中,
WebClient.setCssErrorHandler(new SilentCssErrorHandler())
可以方便地忽略警告和错误。例如:Now in HtmlUnit 2.9,
WebClient.setCssErrorHandler(new SilentCssErrorHandler())
can conveniently ignore the warnings and errors. For example:查看文档。
有一个测试套件使用的示例 log4 文件,您可以找到它 此处,您可以根据需要禁用所有内容。
Have a look at the docs.
There is a sample log4 file used by the test suite, you can find it here, you can disable everything if you wish.
这对我有用:
This worked for me:
尝试将其添加到您的代码中:
基本上,这会使记录器记录到
NoOpLog
,它不会将日志信息写入任何地方。Try adding this to your code:
Basically, this makes the logger log to
NoOpLog
, which doesn't write the log information anywhere.我一定在做一些与上面每个人不同的事情。我目前已将 htmlunit 设置为 Spring 项目,并删除需要将
logback.xml
添加到我的资源目录的日志。将以下内容作为logback.xml
添加到您的main/java/resources
目录 - 这只会输出INFO
级别的日志语句,而不输出以下任何内容 (< a href="https://stackoverflow.com/questions/2031163/when-to-use-the- Different-log-levels">何时使用不同的日志级别)I must be doing something different to everyone above. I have htmlunit set up as a Spring project currently and removing the logs required adding a
logback.xml
to my resources dir. Add the following aslogback.xml
to yourmain/java/resources
dir - this will only outputINFO
level log statements and nothing below (When to use the different log levels)对我来说效果很好的一个选项是更改 HtmlUnit 记录器以记录到不同的文件,这样我就可以在需要时参考它的情况下出现这些错误,并且它也不会弄乱我的主日志。
以下是我对
log4j.properties
所做的log4j
更改:One option which worked well for me is to change the HtmlUnit logger to log to a different file just so that I have those errors in case I need to refer it some time and it also doesn't clutter up my main logs.
Below is the
log4j
change I made tolog4j.properties
:如果您不需要 JavaScript 支持,这是禁用它的最简单方法:
您还可以禁用异常并登录失败状态代码、JavaScript、CSS 错误和 HTML 解析错误。
如果您需要 JavaScript 支持,您可以使用 JavaScript 错误的自定义实现:
如果您不需要,也可以禁用它:
因此无需配置任何其他 Logger。
If you don't need JavaScript support, it is the easiest way to disable it:
You also disable exceptions and log on failing status codes, JavaScript, CSS errors and HTML parse errors.
If you need JavaScript support you can use a custom implementation for JavaScript errors:
If you don't need you also can just disable it:
So there is no need to configure any other Logger.
我正在使用 spring-boot,只能通过以下方式解决:
然后使用 @Autowired 或在类构造函数中调用 bean。如果没有这一行:
它下面的两行将抛出一个奇怪的错误。这条线有魔力。
I am using spring-boot, only solved with this:
And then calling the bean with @Autowired or in class constructor. And without this line:
The two lines under it will throw a bizarre error. This line has the magic.
我为 logback 用户添加这个答案:
将记录器级别设置为关闭,因为 apache 日志记录和 java util 日志记录的先前答案对我不起作用(至少当我使用 htmlunit 在本地计算机上运行测试时)。
并且将虚拟侦听器作为 WebClient 实例的 javascriptErrorListener 传递对我来说也不起作用。
所以它是关闭烦人的 javascript 异常日志的唯一解决方案。
I'm adding this answer for logback users:
Setting the logger level off as previous answers from apache logging and java util logging did not work for me (at least when im running tests on my local computer using htmlunit).
And passing the dummy listener as javascriptErrorListener for WebClient instance also was not working for me.
So it was the only solution for closing the annoying javascript exception logs.
试试这个,它对我有用。
Try this, it worked for me.