Tag: logging

如何在默认情况下将java Logger输出到文件

Netbeans仔细地将Logger.getLogger(this.getClass()。getName())。log(Level。[…]语句)洒入catch块。现在我想将它们全部指向一个文件(和控制台)。 每个日志教程,只有我这样讲述了如何让特定的记录器输出到文件中,但我认为有一种比修复每个自动生成的日志记录语句更好的方法吗? 为某种root logger设置处理程序?

log4j.properties没有从jar中获取

我在服务器的类路径中有一个jar,它包含jar根目录下的log4j.properties文件,用于记录代码。 当jar中的代码运行时,代码的日志记录不会发生。 当我使用java -Dlog4j.debug选项分析问题时,我知道log4j正在加载axis-ant.jar的log4j.properties文件(这也在我的类路径中)并使用它而不是我的jar的属性文件。 当我随后从类路径中删除了axis-ant.jar时,我立即挑选了jars log4j.properties文件并记录了我的代码。 有人可以解释为什么我的log4j.properties没有被加载而axis-ant.jar存在? 令人惊讶的是,类路径中存在的带有axis-ant.jar的jar正在另一台服务器上成功运行并正确运行..服务器都安装了相同的java 5版本和相同版本的log4j jar

如何禁用mongoDB java驱动日志记录?

我试图禁用mongo-java-driver-3.0.0日志输出。 在加载mongo驱动程序之前,我已尝试在应用程序的开头设置它们,但它没有帮助。 // Enable MongoDB logging in general System.setProperty(“DEBUG.MONGO”, “false”); // Enable DB operation tracing System.setProperty(“DB.TRACE”, “false”); 我得到这种日志: 11:01:15.406 [pool-1-thread-1] DEBUG org.mongodb.driver.protocol.query – Sending query of namespace susudev.Players on connection [connectionId{localValue:2, serverValue:28}] to server localhost:27017 11:01:15.406 [pool-1-thread-1] DEBUG org.mongodb.driver.protocol.query – Query completed 11:01:25.174 [cluster-ClusterId{value=’554dbecb1b554f11e86c3a69′, description=’null’}-localhost:27017] DEBUG org.mongodb.driver.cluster – Checking status of localhost:27017 11:01:25.177 [cluster-ClusterId{value=’554dbecb1b554f11e86c3a69′, description=’null’}-localhost:27017] […]

java.util.logging:如何压制日期行

我正在尝试在java.util.logging中使用默认记录器时抑制日期行durinng日志记录的输出。 例如,这是一个典型的输出: 2010年6月1日10:18:12 gamma.utility.application info 信息:ping:db-time = 2010-06-01 10:18:12.0,local-time = 20100601t101812,duration = 180000 2010年6月1日10:21:12 gamma.utility.application info 信息:ping:db-time = 2010-06-01 10:21:12.0,local-time = 20100601t102112,duration = 180000 我想摆脱Jun 1, 2010…行,他们只是弄乱了我的日志输出。 我怎样才能做到这一点?

如何从Log4j Logger / Appender中排除单个类?

我有一个包“com.example”。 这个包有五个类。 我想将其中四个类记录到一个文件中,但排除第五个类。 我可以编写四个记录器,例如logger name =“com.example.Class1”,并将相同的appender添加到所有四个记录器。 有没有更简单的方法(让我们认为我有100个而不是5个class级)? 还有其他一些像这样的问题。 但其他人只想排除一个类来记录这个类。 这可以使用addivity标志来解决。 但我认为可加性标志在这里不起作用,因为我不想记录第五类,而是所有其他类?! 希望有人可以帮助我吗?

Log4j在记录错误时无法发送电子邮件

我在我的应用程序中启用了日志记录,并且我希望通过电子邮件(gmail帐户)发送日志错误。 一世: 设置一个java项目 添加activation.jar,log4j.java和mail.jar(java邮件) 我将这些库添加到项目类路径中 我添加了log4j.properties,我这样配置: log4j.rootLogger = mainlogger,Email,dest log4j.appender.mainlogger = org.apache.log4j.ConsoleAppender log4j.appender.mainlogger.target = System.out log4j.appender.mainlogger.layout = org.apache.log4j.PatternLayout log4j。 appender.mainlogger.layout.ConversionPattern =%d {dd MMM yyyy HH:mm:ss,SSS}%p%-4r [%t]%-5p%c%x – %m%n log4j.appender.dest = org .apache.log4j.FileAppender log4j.appender.dest.File = log.log log4j.appender.dest.layout = org.apache.log4j.PatternLayout log4j.appender.dest.layout.ConversionPattern =%d {dd MMM yyyy HH: mm:ss,SSS}%p%-4r [%t]%-5p%c%x – %m%n 配置SMTP appender log4j.appender.Email=org.apache.log4j.net.SMTPAppender log4j.appender.Email.BufferSize=512 log4j.appender.Email.Threshold=ERROR log4j.appender.Email.SMTPHost=smtp.gmail.com log4j.appender.Email.SMTPUsername=myusername […]

Log4j – 让多个appender写入同一个文件,并始终记录

我有一个log4j appender定义如下: log4j.logger.com.example = DEBUG, filelog log4j.appender.filelog=org.apache.log4j.DailyRollingFileAppender log4j.appender.filelog.File=c:/app.log log4j.appender.filelog.layout=org.apache.log4j.PatternLayout log4j.appender.filelog.layout.ConversionPattern=%d | %m%n log4j.appender.filelog.DatePattern=.dd-MM-yyyy 在我的class上,我得到了记录器: Log logger = LogFactory.getLog(getClass()); 这工作正常。 我希望有一个记录器,它总是记录某些消息(不是错误,而是事务所花费的时间)。 如果我在DEBUG或INFO中写这些,如果更改了日志级别,我将看不到它们。 我想我可以使用写入同一文件的另一个appender来完成此操作。 这可能有两个appender写入同一个文件? 我如何获得我想在同一个类中使用普通调试appender和事务性appender的logger实例? 这些消息不会都在同一个包中,因此我无法将某个包配置为始终记录。 我是否必须让这些appender写入不同的文件,或者我可以在代码中检索它们并具有以下内容: Log alwaysLogger = LogFactory.getLog(ALWAYS); alwaysLogger.debug(“This message will always be written regardless of the level set on the filelog appender”); 更新我可以根据需要写入两个不同的日志文件,但是如何在我的类中获取记录器实例? 我不希望将一个包/类配置为始终使用一个appender而不是另一个包,因为类必须在正常运行期间记录信息/错误消息和事务性“始终”消息。 有没有办法完成我需要的东西,即使它写入两个不同的日志文件?

在简单的示例项目中更改Spring框架日志级别?

在遵循这个 Spring示例时,我希望看到这样的输出: Creating tables Inserting customer record for John Woo Inserting customer record for Jeff Dean … 相反,我在每一行之间散布了一些DEBUG日志消息: Creating tables 12:31:16.474 [main] DEBUG osjdbc.core.JdbcTemplate – Executing SQL statement [drop table customers if exists] 12:31:16.484 [main] DEBUG osjdbc.datasource.DataSourceUtils – Fetching JDBC Connection from DataSource 12:31:16.484 [main] DEBUG osjdSimpleDriverDataSource – Creating new JDBC Driver Connection to [jdbc:h2:mem] […]

log4j日志文件名?

我们有几个并发运行的作业,必须使用相同的log4j配置信息。 他们都使用相同的appender将日志转储到一个文件中。 有没有办法让每个作业动态命名其日志文件,以便它们保持独立? 谢谢 汤姆

设置log4j日志级别

我目前正在开发一个使用log4j的项目。 我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以看到所有值是否正确。 在项目中使用日志记录的类包含如下所示的行: private static final Log LOG = LogFactory.getLog(MatchTaskTest.class); 并使用像这样的方式来进行实际的调试 LOG.trace(“value”); 我之前从未使用过log4j,有没有人知道如何只为测试用例更改日志级别,最好只需在eclipse的运行配置对话框中定义一个参数。