Tag: 日志记录

在Selenium中计时页面加载时间

我正在使用selenium在我的网站上记录一些性能测试。 例如登录时间,查询时间等。我在Selenium IDE上记录了一个示例脚本。 我现在让它运行一个Selenium RC(java)。 public void testNew() throws Exception { selenium.open(“/jira/secure/Dashboard.jspa”); selenium.selectFrame(“gadget-10371”); selenium.type(“login-form-username”, “username”); selenium.type(“login-form-password”, “pw”); selenium.click(“login”); selenium.waitForPageToLoad(“30000”); selenium.selectWindow(“null”); selenium.click(“find_link”); selenium.waitForPageToLoad(“30000”); selenium.removeSelection(“searcher-pid”, “label=All projects”); } 如何记录从单击登录按钮到加载“登录”屏幕的时间长度? 这是我想出的,这是一个准确的时机吗? : long starttime = System.currentTimeMillis(); selenium.waitForPageToLoad(“30000″); long stoptime = System.currentTimeMillis(); long logintime = stoptime – starttime; System.out.println(logintime+” ms” );

如何使用Geckodriver禁用Selenium中的Firefox日志记录?

我在用: firefox版本50.1.0 geckodriver版本0.11.1 selenium-java 3.0.1 我努力了 FirefoxProfile profile = new FirefoxProfile(); profile.setPreference(“webdriver.log.browser.ignore”, true); profile.setPreference(“webdriver.log.driver.ignore”, true); profile.setPreference(“webdriver.log.profiler.ignore”, true); FirefoxDriver driver = new FirefoxDriver(); 和 LoggingPreferences preferences = new LoggingPreferences(); preferences.enable(LogType.BROWSER, Level.OFF); preferences.enable(LogType.CLIENT, Level.OFF); preferences.enable(LogType.DRIVER, Level.OFF); preferences.enable(LogType.PERFORMANCE, Level.OFF); preferences.enable(LogType.SERVER, Level.OFF); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.LOGGING_PREFS, preferences); FirefoxDriver driver = new FirefoxDriver(capabilities); 这些方法都没有做任何事情来阻止记录。 如果这有助于某种方式,这是控制台输出: 第一种方法: http : //pastebin.com/23nate2G […]

Logback + Swing in small tool

我需要破解一个小工具。 它应该读取几个文件并转换它们。 现在,它在我的IDE中工作。 对于用户,我想添加一个简单显示日志输出的小UI。 你知道一个现成的Swing appender用于logback吗? 或者将System.out重定向到一个只有文本字段和“关闭”按钮的小UI的东西? PS:我不是在寻找Chainsaw或Jigsaw或Lilith。 我想在应用程序中显示日志消息。

在java中登录multithreading应用程序

登录multithreading环境的最佳方法和最佳工具是什么,因此每个线程都有自己的记录器实例和单独的文件。 这有可能吗?

在Tomcat中放置logback.xml的位置?

当我们希望将logback.xml文件配置为可配置时,将logback.xml文件放在何处? 以及如何使内部运行的Java应用程序可以访问它?

将有用的状态信息传递给Java中的exception有什么好方法?

我最初注意到我的问题引起了一些困惑。 我不是在询问如何配置记录器,也不是如何正确使用记录器,而是如何捕获本地记录级别低于exception消息中当前日志记录级别记录的所有信息。 我一直在注意Java中的两种模式,用于记录在发生exception时可能对开发人员有用的信息。 以下模式似乎很常见。 基本上,您只需根据需要在线记录您的记录器日志信息,以便在发生exception时获得日志跟踪。 try { String myValue = someObject.getValue(); logger.debug(“Value: {}”, myValue); doSomething(myValue); } catch (BadThingsHappenException bthe) { // consider this a RuntimeException wrapper class throw new UnhandledException(bthe); } 上述方法的缺点是,如果您的用户需要相对安静的日志并且需要高级别的可靠性,而他们无法“在调试模式下再次尝试”,则exception消息本身包含的数据不足以对开发者有用。 我看到的下一个模式试图缓解这个问题,但看起来很难看: String myValue = null; try { myValue = someObject.getValue(); doSomething(myValue); } catch (BadThingsHappenException bthe) { String pattern = “An error occurred when […]

日志锻造强化修复

我正在使用Fortify SCA来查找我的应用程序中的安全问题(作为大学作业)。 我遇到了一些我无法摆脱的“Log Forging”问题。 基本上,我记录了一些来自Web界面的用户输入值: logger.warn(“current id not valid – ” + bean.getRecordId())); 并且Fortify将此报告为日志伪造问题,因为getRecordId()返回用户输入。 我已经关注了这篇文章 ,我正在用空格替换“新行”,但问题依然存在 logger.warn(“current id not valid – ” + Util.replaceNewLine(bean.getRecordId())); 任何人都可以提出解决此问题的方法吗?

对于日志记录方法,哪个数组创建与字符串连接具有更好的性能?

传递多个字符串进行日志记录时,最好使用varargs还是字符串连接? 将在生产环境中禁用日志记录。 考虑以下代码, public void log(int logLevel, String … msg) { if (logLevel >= currentLogLevel) { for (String m : msg) { // print the log to file } } } // calling log(2, “text1”, var1, “text2”); 比。 public void log(int logLevel, String msg) { if (logLevel >= currentLogLevel) { // print the log to […]

测试失败时记录exception的最佳方法(例如使用junit规则)

当我运行一个完整的测试套件时,如果导致测试失败的exception会出现在我的(SLF4J-)日志中,将会很有帮助。 实现这一目标的最佳方法是什么? 我想要什么 是一个junit4规则,为我处理exception日志记录。 代码 @Rule public TestRule logException = new TestWatcher() { @Override public void failed(Description d) { catch (Exception e) { logger.error(“Test ({}) failed because of exception {}”, d, e); throw e; } } } 当然不起作用,因为我只能从try块中捕获exception。 是否有一种解决方法以某种方式以类似的简单和一般方式实现这一目标? 顺便说一下,我现在在做什么 在创建exception时记录exception。 但是在调用者和库之间的接口上记录exception会更好,所以在我的情况下在测试用例中。 在创建例外时不记录也可以保证在调用者决定记录它们时它们不会多次显示。

最简单的方法来登录tomcat catalina.out

将日志写入tomcat/catalina.out的最简单方法是什么? 我试过System.out.print()和System.err.print()工作正常。 我只是想知道是否有更好的选项可以使用尽管sysout和syserr ?