Tag: logging

泽西LoggingFilter与log4j

我有一个用泽西开发的rest服务,我有一个ContainerRequestFilters用于打印请求,如下所示: com.sun.jersey.spi.container.ContainerRequestFilters com.sun.jersey.api.container.filter.LoggingFilter 我使用log4j在post方法中记录了。 但LoggingFilter在日志中打印的log4j不同。 LogginFilter有没有办法使用log4j的配置? 我在log4j.xml文件中尝试过这个: 但它不起作用:(

Logback – 打印调用日志方法的方法名称

在我的示例中,我有以下代码: package com.example.somepackage; public class Example { public static void main(String[] args) { org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Example.class); logger.info(“Example message.”); } } 我希望它像这个最小的例子一样输出到控制台: com.example.somepackage.Example.main Example message. 我唯一需要的是: 要放入logback.xml文件的模式或 有关我需要添加到示例代码场景中的更多代码的说明 如果使用额外的代码而不是XML配置模式,请同时提供有关如何配对这两者的信息,因此除了打印出的方法名称之外,还可以使用时间,日志级别等模式。

Logback:SizeAndTimeBasedRollingPolicy不遵守totalSizeCap

我正在尝试以一种方式管理我的日志记录,在这种方式中,我的最旧的归档日志文件一旦达到总累积大小限制或达到其最大历史记录限制就会被删除。 在Logback 1.1.7中使用SizeAndTimeBasedRollingPolicy时,滚动文件追加器将继续创建新的存档,尽管超过了totalSizeCap集。 这是我的logback.xml文件供参考: ${USERPROFILE}/testlogs/test.log ${USERPROFILE}/testlogs/%d{yyyy-MM-dd_HH}/test%i.log.zip 7 50KB 200KB %d{yyyy-MM-dd HH:mm:ss.SSS} %5p – %m%n 这是logback中的错误还是我没有正确配置滚动文件appender?

如何将log4j日志文件更改为utf8

我已经交了一个使用log4j作为记录器应用程序的代码。 如何为它生成UTF8日志文件? log4j创建的日志文件目前是ASCII格式。 我试过以下 按照说明设置日志文件的文件编码 vi current :set bomb :set fileencoding=utf-8 :wq 事实上,在执行上述操作后,日志文件本身就会停止工作,即由于某些奇怪的原因,不会再将日志写入文件 我也尝试过更改.properties文件 log4j.rootLogger=TRACE, logfile log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.encoding=UTF-8 log4j.appender.logfile.File=/usr/vm/log/webconsole/current log4j.appender.logfile.Append=true log4j.appender.logfile.MaxFileSize=5MB log4j.appender.logfile.MaxBackupIndex=1 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=[%5p] %d{ISO8601} (%F:%M:%L)%n%m%n%n log4j.logger.com.company.npm=ALL log4j.logger.org.apache.axis=OFF 由于某种原因,翻转后的日志文件是ASCII格式 我正在使用log4j 1.2.8 当我启用log4j调试时,我得到以下输出 @4000000053b16b142afa961c log4j: Parsing for [root] with value=[TRACE, logfile, cdr]. @4000000053b16b142afc630c log4j: Level token is [TRACE]. @4000000053b16b142afe85ec log4j: Category root set to DEBUG @4000000053b16b142aff510c […]

将项目从log4j迁移到slf4j + log4j

我有一个直接使用log4j的大型Web项目,以及许多第三方库和各种日志库。 我们的代码库 – 直接使用log4j。 Hibernate – 使用slf4j和slf4j-log4j绑定。 Spring – 使用commons-loggings。 因此,它使用jcl-over-slf4j桥接api,slf4j本身和slf4j-log4j绑定。 其他众多的库,使用commons loggings或log4j。 我正在考虑将我们自己的代码库迁移到slf4j api,但我不确定这些好处是否足够强大且值得付出努力。 目前我知道以下好处: 清洁api。 性能改进 – 即使用参数化日志记录方法的能力。 能够在将来轻松切换到回溯(目前无法进行回退)。 不需要额外的jar子,因为我已经拥有它们。 还有其他好处吗? 有什么我不知道的缺点吗?

Log4j vs Logback:并发写入同一个日志?

我有几个在同一个tomcat上运行的Web应用程序。 我有两个问题: 1-通过搜索,我了解到当存在多个应用程序时,登录到同一文件可能会出现一些问题。 这是在同一个Web服务器上运行的多个应用程序的情况吗? 使用默认的stdout输出时,这也是正确的吗? 2-在Logback库中有一个谨慎的模式: 在谨慎模式下,即使存在可能在不同主机上运行的不同JVM中运行的其他FileAppender实例,FileAppender也会安全地写入指定文件。 prudent模式的默认值为false。 我想知道使用Logback是否仅适用于多个JVM,还是对同一Web服务器上运行的多个应用程序也有利? 如果没有,这方面的log4j是否相同? 谢谢

windows下的tomcat中的system.out.println写在哪里?

我正在使用用于记录system.out.println语句的第三方库(无法修改它)。 输出在控制台中显示正常,但我无法在catalina […]。日志文件中检索这些信息? 是否可以将它们发送到log4j?

如何只记录一次重复警告

有一种模式偶尔会发生。 我有一个多次调用的方法,它包含以下代码段: Foo foo = getConfiguredFoo(); if (foo == null) { logger.warn(“Foo not configured”); foo = getDefaultFoo(); } 然后我的日志文件被这个警告混乱了一百次。 我知道我可以把它grep了,但我想知道是否有更好的方法只能看一次这个警告。 注意:默认情况下,重复的消息是正确的行为,因此这不是为了避免无意的重复日志消息 。 我将我的问题标记为log4j,但我对其他java日志框架持开放态度。

如何在运行时调整log4j级别?

我有一个在Tomcat 5.5上运行的简单Web应用程序,其中log4j用于记录。 偶尔我需要将日志记录推送到DEBUG,但大多数时候我对INFO感到满意。 我可以更改我的配置xml并重新启动应用程序,但我更愿意动态切换日志级别。 有没有标准的技术?

是否可以通过编程方式找到回溯日志文件?

将日志文件自动附加到支持电子邮件会很有用。 我可以以编程方式设置路径(如以编程方式设置Logback Appender路径 ),但我更愿意让用户通过logback.xml以熟悉的方式配置日志记录。 那么,我可以找到logback用于记录的文件吗?