Tag: log4j

使用log4j创建包含日期的日志文件

我正在使用下面的代码编写我的日志文件,但它将文件存储为QueryLog.log 。 我错过了什么吗? 检查我的log4j.properties文件的代码 log4j.logger.org.hibernate=INFO log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.type=TRACE log4j.logger.org.hibernate.hql.ast.AST=info log4j.logger.org.hibernate.tool.hbm2ddl=warn log4j.logger.org.hibernate.hql=debug log4j.logger.org.hibernate.cache=info log4j.logger.org.hibernate.jdbc=debug log4j.rootLogger = DEBUG, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.DatePattern=’.’yyyy-MM-dd-a log4j.appender.FILE.File=log4j/QueryLog.log log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern= %d{HH:mm:ss} %-5p %c – %m%n 我使用过的链接: http://www.tutorialspoint.com/log4j/log4j_logging_files.htm http://www.codejava.net/coding/configure-log4j-for-creating-daily-rolling-log-files

log4j的优点

log4j优于设置System.out和System.err输出到日志文件的优势是什么?

如何使用Log4J SMTPAppender动态更改电子邮件主题?

log4j.appender.ERROREMAIL=org.apache.log4j.net.SMTPAppender log4j.appender.ERROREMAIL.SMTPHost=www.company.com log4j.appender.ERROREMAIL.Threshold=ERROR log4j.appender.ERROREMAIL.To=email.address1@company.com,email.address2@company.com,email.address3@company.com log4j.appender.ERROREMAIL.From=some.emailaddress.com log4j.appender.ERROREMAIL.Subject=messagesubject1 我正在使用上面提到的log4j属性文件来发送电子邮件 log.error(“Error message”); 如何使其成为动态的,以便消息主题可以根据计算机名称(env名称)动态更改。 例如: log4j.appender.ERROREMAIL.Subject=messagesubject1, messagesubject2, messagesubject3 我想根据机器名称动态使用主题1,2和3。 任何帮助将不胜感激。 谢谢

Log4j显示包名称

现在我的ConversionPattern我有: log4j.appender.A1.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss,SSS} %5p [%t] (%F:%L) – %m%n 我想要做的还包括类的完整包名(%F:%L),但我在文档中找不到任何配置 。 我知道这会慢一点,但它只适用于调试,而不是系统何时投入生产。

如何从非src文件夹强制log4j加载xml配置?

是否可以从源根目录中加载不同目录的log4j.xml以及如何加载? (以编程方式?)意味着它在FS中的某个地方而不仅仅是在类路径中。

在使用logger.debug()之前是否需要Log4j isDebugEnabled()?

当我浏览一些代码时,我注意到使用logger如下, if(logger.isDebugEnabled()) logger.debug(“Something..”); 但在某些代码中,我观察到了这样的情况。 logger.debug(“Something..”); 当我查看log4j的源代码时,在Logger本身的debug()方法中检查了if(logger.isDebugEnabled()) 。 那么为什么我们需要这个不必要的开销if(logger.isDebugEnabled()) ??

log4j2 SMTP Appender:如何将以前的消息包含在另一个级别?

我正在使用log4j2-beta9,我有以下配置(部分): %d{dd-MM-yyyy HH:mm:ss,SSS} %5p %m%n 使用此配置,我收到的电子邮件只有一(1)个错误消息。 如何配置log4j2以接收1条错误消息和N条以前的LEVEL = INFO消息? 提前致谢。

尽管isDebugEnabled为true,但log4j调试消息未在控制台中显示

我在我的项目中使用以下代码来使用log4j记录调试消息 private static final Logger LOG = Logger.getLogger(MyClass.class) // … if(LOG.isDebugEnabled()) { LOG.debug(“my log message”); } 我可以通过在写入调试消息的行添加断点来确认我的log4j配置是否正确,即LOG.isDebugEnabled()确实返回true 。 有趣的是,我的调试消息没有显示在我的IDE(IntelliJ)的控制台中,但是当将LOG.debug()更改为LOG.info() ,将按预期记录信息消息。 任何想法我应该寻找什么,以找出这里出了什么问题? 编辑:这是我的log4j.properties文件 log4j.appender.Stdout=org.apache.log4j.ConsoleAppender log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout log4j.appender.Stdout.layout.conversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} – %m [thread: %t]\n log4j.appender.Stdout.threshold=info log4j.appender.StandaloneFile=org.apache.log4j.RollingFileAppender log4j.appender.StandaloneFile.File=logs/standalone.log log4j.appender.StandaloneFile.MaxFileSize=5MB log4j.appender.StandaloneFile.MaxBackupIndex=20 log4j.appender.StandaloneFile.layout=org.apache.log4j.PatternLayout log4j.appender.StandaloneFile.layout.ConversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} – %m [thread: %t]\n log4j.appender.StandaloneFile.threshold=info log4j.rootLogger=info, Stdout, StandaloneFile log4j.logger.com.myPacke.package1=info, Stdout, StandaloneFile log4j.logger.com.myPacke.package2=DEBUG

log4j.xml配置的公共变量

我有这样的log4j.xml配置: … 但是我的文件的根目录对于很多appender是相同的。 有没有办法将“/ logs / custom /”定义为变量,并在我的所有appender中重用它。 谢谢, 肖恩

关闭hibernate日志记录到控制台

运行我的Spring / Hibernate应用程序时,我在控制台上看到以下不需要的输出: Hibernate: select securityus0_.ID …. Hibernate: select securityus0_.ID …. Hibernate: select securityus0_.ID …. Hibernate: select securityus0_.ID …. 我已经配置了我的Log4j记录器,如下所示: 我如何沉默这些消息?