Tag: logging

java.util.logging.Logger和log4j

我正在尝试从这里编译代码: http : //www.brackeen.com/javagamebook/#download (第6章),我遇到了麻烦。 我不明白java.util.logging.Logger和log4j如何协同工作,但这似乎是个问题。 我得到的错误都在log.error()或log.warn()方法调用上。 以下是NetBeans的输出: 在里面: DEPS清洁: 删除目录C:\ JB \ NetBeansProjects \ WRServer \ build 删除目录C:\ JB \ NetBeansProjects \ WRServer \ dist 清洁: 在里面: DEPS-JAR: 创建目录:C:\ JB \ NetBeansProjects \ WRServer \ build \ classes 将23个源文件编译为C:\ JB \ NetBeansProjects \ WRServer \ build \ classes C:\ JB \ NetBeansProjects \ WRServer […]

Hazelcast:用于在调试模式下登录的编程配置

尝试配置slf4j以登录DEBUG模式,但只获取INFO日志。 我究竟做错了什么? Config hazelcastConfig = new Config(“HazelcastConfig”); hazelcastConfig.getProperties().put(“hazelcast.logging.type”, “sl4j”); hazelcastConfig.getProperties().put(“slf4j.logger.com.hazelcast”, “debug”); Hazelcast.newHazelcastInstance(hazelcastConfig);

Tomcat控制台登录到文件

我正在使用Apache Tomcat 7 。 当我使用安全管理器运行Tomcat并使用-Djava.security.debug参数时,我在控制台中获得了大量文本。 我无法在控制台中阅读文本。 所以我需要将控制台登录到某个文件中 。 我怎样才能做到这一点?

如何在Java中继续登录同一行?

这类似于这个问题,它涉及一个bash文件 。 我们创建了一个日志,在我们运行TestNG测试时输出到控制台: private Log log = LogFactory.getLog(xyz.class); 稍后,在测试期间,日志中充满了详细信息,以便让我们知道到底在做什么: log.info(“Setting browser…”); this.browser = browser; log.info(“Completed.”); 现在它按照您的预期打印出来: Setting browser… Completed. 我想在同一行打印出来: Setting browser… 几毫秒后: Setting browser…Completed. 这可能与LogFactory一起使用吗?

GWT Logger:无法控制调试输出?

我在client.gwt.xml文件中有以下内容: 我正在尝试记录以下内容: LOGGER.info(“INFO”); LOGGER.fine(“FINE”); LOGGER.warning(“WARNING”); LOGGER.severe(“SEVERE”); 但是我的firebug控制台中唯一出现的是SEVERE消息: Mon Sep 07 13:44:09 GMT+200 2015 com.mz.client.App SEVERE: SEVERE 为什么我没有收到其他日志消息? 我已经将logging.properties的java.util.logging.ConsoleHandler.level设置为FINE : # Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 编辑: 现在,即使没有这些线路,它也能正常工作 <!– –> <!– –> <!– –> 我删除了那些行,清理了我的项目并启动了Apache服务器,无论出于何种神奇的原因我都收到调试输出。 更改 至 不会改变输出。 我收到所有消息到FINER 。 设置 现在不删除调试输出。 […]

Java Logging API生成空日志文件

我试图浏览Java日志API的教程: www.vogella.com/articles/Logging/article.html 但是生成的文件是空的(在Netbeans,Eclipse中测试以及从cmd运行jar)。 日志消息仅显示在控制台中。 以下是项目中使用的文件。 这种行为可能是什么原因? 项目:de.vogella.logger MyHtmlFormatter.java package de.vogella.logger; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; //This custom formatter formats parts of a log record to a single line class MyHtmlFormatter extends Formatter { // This method is called for every log records public String format(LogRecord rec) { StringBuffer […]

记录jax-ws http请求和响应

我需要在JAX-WS WebService调用中记录完整的http请求和响应。 对于请求,我需要请求标头和正文以及响应,响应标头和正文。 经过一番研究,我发现我可以通过该属性获取此信息: -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true 并显示我需要的信息,但它将其转储到控制台,我需要将其存储在具有内部请求ID的数据库中。 我试图实现一个处理程序: public class LoggingHandler implements SOAPHandler { @Override public boolean handleMessage(SOAPMessageContext context) { Boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outbound) { System.out.println(“SOAP outbound!!!!!”); Map<String, List> responseHeaders = (Map<String, List>) context .get(SOAPMessageContext.HTTP_RESPONSE_HEADERS); try { String headers = getHeaders(responseHeaders); System.out.println(headers); String body = getBody(context.getMessage()); System.out.println(body); } catch (Exception ex) { // […]

SLF4J是否是线程安全的?

我可能有一个Dog类,它有一个跨多个线程共享的实例。 我计划将SLF4J用于所有日志记录: public class Dog { private Logger logger = LoggerFactory.getLogger(Dog.class); // …etc. } 我的logger实例线程是否安全? 为什么/为什么不呢?

除非有新日志,否则TimeBasedRollingPolicy不会滚动

这是我的配置: true mylogs.log mylogs-%d{yyyy-MM-dd_HH-mm}.log 30 %d{HH:mm:ss.SSS} %-5level %logger{36} [%thread] – %M:%L – %msg%n INFO 根据此处找到的logback文档( http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy ),文件将根据我的%d{yyyy-MM-dd_HH-mm} fileNamePattern每分钟翻转。 我观察了它是如何工作的,这是我的发现: 它不会很快创建日志文件。 它只会在新日志到达时为前一分钟创建一个日志文件。 (例如,我在晚上11:53有一个日志,现在是晚上11点55分,它在下午11点54分到晚上11:54时没有立即创建一个新的日志文件,但是当一个新的日志出现时,请说晚上11:56,它现在创建了晚上11:53的文件。) 我错过了什么,我以为它会每分钟创建一个日志文件?

记录与数据库通信的SQL

我正在为我的Web应用程序开发SQL Logger。 我希望能够记录用户与GUI交互触发的SQL查询。 我在Spring环境中工作,使用maven和mybatis。 我将我的webapp打包成战争并将其部署到tomcat上。 我希望能够直接使用SQL来访问数据库。 我可以尝试使用像Log4j中的SocketAppender / HTMLAppender,并发布查询,以便其他非SQL人员可以直接使用它而无需编辑它,或者从查询中删除垃圾以查看填充的数据。 我遇到了几个可以记录SQL的Logger工具。 jdbcdslog-EXP P6SPY JdbcProxy log4jdbc SqlRecorder 我特别想要的是: 纯SQL查询几乎没有或几乎没有垃圾(比如查询被触发的时间jdbcdslog-exp记录的数据 ) 如果我得到一些不需要的数据,我希望能够将其删除以生成纯查询。 我正在试图弄清楚jdbcdslog是如何做到这一点的,但是很难让它成功。 我想知道上述任何工具是否可以为我们提供有关查询的一些元数据(例如查询所属的包),以便我可以根据包分离出我的日志数据。