jjzjj

Appender

全部标签

java - 在 log4j 的内存 'list appender' 中

log4j是否有一个仅存储日志记录事件列表的附加程序(用于单元测试,以验证没有写入错误日志)? 最佳答案 有一个MemoryAppender,但它不是标准log4j库的一部分。您可以轻松编写自己的代码,但如果您仅将它们用于单元测试,我可能会模拟Logger并断言没有调用它。覆盖目标类中的getLogger()方法或直接在类型上设置模拟Logger。使用Jmock(内存中的例子,如有错误请见谅):publicvoidtestDoFoo(){Mockerymockery=newMockery();LoggermockLogger=moc

java - 如何以编程方式配置 appender 或初始化 log4j2 中的日志记录?

我一直在尝试以编程方式配置appender,但到目前为止还没有成功。我只想配置没有文件的附加程序,以便它可以将日志发送到控制台或文件。StringPATTERN="%d[%p|%c|%C{1}]%m%n";PatternLayoutlayout=PatternLayout.createLayout(PATTERN,null,null,null,null,null);ConsoleAppenderconsole=ConsoleAppender.createAppender(layout,null,null,"console","true","true");//createappender

java - 如何在 log4j2 中配置 null appender

Log4j1.*有一个nullappenderclass,但我在log4j2中找不到等效项。有吗?如何在log4j2.xml中配置一个nullappender? 最佳答案 从Log4j2版本2.7开始,有一个NullAppender类。早期版本没有它。它在配置文件中使用的名称是“Null”。它可以像这样添加到Appenders列表中: 关于java-如何在log4j2中配置nullappender,我们在StackOverflow上找到一个类似的问题: htt

java - 错误在 tomcat 上部署期间找不到键 log4j.appender.error 的值

如果我右键单击服务器并在服务器上运行,我的代码工作正常,但是当我尝试将它部署到tomcat上并尝试运行它时,出现以下错误log4j.properties文件:log4j.logger.Controller=INFO,error,stdoutlog4j.logger.Client=INFO,error,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.

java - 使用 SMTPAppender 我只收到 ERROR 而不是 INFO 类型的日志项

我已经在我的Java应用程序中配置了一个SMTPAppender。我只收到ERROR日志类型而不是INFO类型!我更改了LevelMin但什么也没有,我插入了Thresold,但什么也没有!有人有什么建议吗? 最佳答案 SMTPAppender的设计只记录ERROR及以上消息。此级别不受属性影响。附加状态的文档:Bydefault,anemailmessagewillbesentwhenanERRORorhigherseveritymessageisappended.Thetriggeringcriteriacanbemodifie

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

我在我的应用程序中启用了日志记录,我想通过电子邮件(gmail帐户)发送日志错误。我:建立一个java项目添加activation.jar、log4j.java和mail.jar(java邮件)我将这些库添加到项目类路径我添加了log4j.properties并配置如下:log4j.rootLogger=mainlogger,Email,destlog4j.appender.mainlogger=org.apache.log4j.ConsoleAppenderlog4j.appender.mainlogger.target=System.outlog4j.appender.mainlo

java - 您如何使用 Log4j 将 stdout 和 stderr 写入/捕获到文件并使用 Windows 和 Tomcat 5.5 (Java)?

我正在使用Windows2008R2和ApacheTomcat5.5,供您引用。STDOUT和STDERR可以通过ApacheTomcat属性自动记录,通过Logging选项卡->RedirectStdout和RedirectStderror文本框。但是我想通过log4j来控制这个。我正在尝试利用ConsoleAppender和TimeAndSizeRollingAppenderclass翻转通常由ApacheTomcat的固有日志记录控制的内容。基本上,无论Tomcat将stdout和stderr重定向到一个文件,我想使用log4j和log4j.properties文件做同样的事情。

java - Log4j - 让多个 appender 写入同一个文件,其中一个始终记录

我有一个log4jappender定义如下:log4j.logger.com.example=DEBUG,fileloglog4j.appender.filelog=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.filelog.File=c:/app.loglog4j.appender.filelog.layout=org.apache.log4j.PatternLayoutlog4j.appender.filelog.layout.ConversionPattern=%d|%m%nlog4j.appender.file

java - 从 log4j appender 中排除一个类

我有一个看起来像这样的log4j.properties文件:log4j.logger.com.foo=INFO,foo-loglog4j.logger.com.foo.BarImpl=INFO,bar-log通常对于匹配com.foo包结构的类,我希望使用foo-logappender。但是,在该包中,我希望BarImpl日志使用bar-logappender而不是foo-logappender。目前,BarImpl写入的任何日志都由foo-log和bar-log处理(正如预期的那样)。如何让foo-logappender忽略BarImpl类? 最佳答案

java - 按大小和时间滚动日志

我使用log4j1.2.16的RollingFileAppender,它会在日志文件达到一定大小时滚动日志文件。现在我想每天和滚动日志文件,当它们达到一定大小时。因此每天会有一个或多个日志文件。例如,myapp.logmyapp-17.12.2013.logmyapp-16.12.2012.logmyapp-16.12.2012.1.logmyapp-16.12.2012.2.log是否有现成的appender,它已经有了? 最佳答案 确实有两种选择:使用LogBack及其大小和时间触发策略:http://logback.qos.c