标签: appender

自定义NLog Appender

我尝试编写自定义appender来登录NLog.我在log4net中看到了一些应该写的appender,它继承自抽象类AppenderSkeleton.有人可以在NLog中命名模拟类吗?

c# log4net nlog appender

8
推荐指数
1
解决办法
3272
查看次数

在log4j的内存'list appender'中

是否存在log4j的追加器,它只存储一个日志事件列表(用于单元测试,以验证没有写入错误日志)?

java log4j in-memory appender

7
推荐指数
1
解决办法
5535
查看次数

从Log4Net配置中获取值

我通过扩展AppenderSkeleton类来实现自定义log4net appender.这很简单,任何人都可以要求并且完美地工作.

我的问题是我必须硬编码一些值,我想将它们从我的代码中删除到appender的配置.由于log4net知道它是如何配置的,我认为应该有办法向log4net询问它的配置.

我的appender看起来像这样:

<appender name="MyLogAppender" type="xxx.yyy.zzz.MyLogAppender">
      <MyProperty1>property</MyProperty1>
      <MyProperty2>property</MyProperty2>
      <MyProperty3>property</MyProperty3>
</appender>
Run Code Online (Sandbox Code Playgroud)

如何获取MyProperty1-3的值,以便我可以在我的Appender中使用它?

在此先感谢Roalnd

log4net appender

7
推荐指数
1
解决办法
2040
查看次数

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

我已将SMTPAppender配置到我的Java应用程序中.

<appender name="AdministratorEmail" class="org.apache.log4j.net.SMTPAppender">
  <param name="Threshold" value="info" />
  <param name="BufferSize" value="512" />
  <param name="SMTPHost" value="smtp.sss.intranet" />
  <param name="From" value="adminEbookMaker@sss.intranet" />
  <param name="To" value="user@sss.it" />
  <param name="Subject" value="errors" />       
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
  </layout>
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="info" />
    <param name="LevelMax" value="fatal" />
  </filter>
</appender>
Run Code Online (Sandbox Code Playgroud)

我只收到ERROR日志类型而不是INFO类型!我更改了LevelMin,但没有,我插入了Thresold,但没有!

有人有任何建议吗?

java email log4j smtp appender

7
推荐指数
1
解决办法
6160
查看次数

log4net MemoryAppender无法正常工作

我正在使用log4net登录我的应用程序.我的FileAppender工作正常,但我遇到MemoryAppender问题.

这是我的配置文件.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
  <param name="File" value="Envision.log" />
  <param name="AppendToFile" value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="" />
    <param name="Footer" value="" />
    <param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
  </layout>
</appender>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">

</appender>
<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="MemoryAppender" />
</root>
</log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我使用此代码来设置配置文件.

FileInfo file = new FileInfo(configPath);
log4net.Config.XmlConfigurator.Configure(file);
file = null;
Run Code Online (Sandbox Code Playgroud)

就像我说的,FileAppender效果很好.但我似乎无法得到任何事件.我试过用这样的东西来获取MemoryAppender.

Hierarchy hierarchy = LogManager.GetRepository() as Hierarchy;
MemoryAppender …
Run Code Online (Sandbox Code Playgroud)

log4net appender

7
推荐指数
2
解决办法
6895
查看次数

Logback的Syslog Appender

我已经在syslog appender上多次阅读了logback的文档.我的印象是系统日志守护程序在每台计算机上运行,​​所以我设置配置就像在他们的示例中一样.当我运行程序时,在检查系统日志时没有发生错误,那里没有记录任何内容.

<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
  <syslogHost>my ip adress</syslogHost>
  <facility>USER</facility>
  <suffixPattern>[%thread] %logger %msg</suffixPattern>
</appender>`
Run Code Online (Sandbox Code Playgroud)

syslog logback slf4j appender

7
推荐指数
1
解决办法
5337
查看次数

如何使用Log4j2将日志输出到JTextArea

我一直试图将日志输出到JTextArea几天,但仍然没有运气.基本上我尝试过的是在现有的appender(如consoleAppender)之后创建自己的自定义appender,并尝试在log4j2.xml中配置它.我觉得我正朝着正确的方向前进,但不知怎的,我无法让它发挥作用.我在log4j2用户邮件列表中询问过,似乎没有人关心帮助我.希望我能在这里得到我的帮助.如果您知道如何实现它,请给我步骤甚至代码片段.

感谢您的高级帮助.

好吧,既然有人拒绝投票我的问题,因为它没有显示任何努力,那么我最好展示一些.我没有表现出我所做的任何事情,因为我不太确定我所做的是正确的方式,人们可能有自己的方法.

我面临的问题是,

  • 我找不到将JTextArea对象传递给TextAreaAppender的方法
  • 当我尝试运行测试类时,总是收到错误说TextAreaAppender CLASS_NOT_FOUND,但我已经尝试了所有可能的方法,我可以在log4j2.xml中指定class属性

代码如下,

TextAreaAppender

public class TextAreaAppender extends AbstractOutputStreamAppender<OutputStreamManager>{
    private static TextAreaManagerFactory factory = new TextAreaManagerFactory();

    public enum Target {
        TEXTAREA
    }

    protected TextAreaAppender(String name, Layout<? extends Serializable> layout, Filter filter,
            OutputStreamManager manager, boolean ignoreExceptions) {
        super(name, layout, filter, ignoreExceptions, true, manager);
        // TODO Auto-generated constructor stub
    }

    @PluginFactory
    public static TextAreaAppender createAppender(
            @PluginElement("Layout") Layout<? extends Serializable> layout,
            @PluginElement("Filters") final Filter filter,
            @PluginAttribute("target") final String t,
            @PluginAttribute("name") final String name,
            @PluginAttribute("follow") final String follow,
            @PluginAttribute("ignoreExceptions") …
Run Code Online (Sandbox Code Playgroud)

configuration log4j jtextarea appender log4j2

7
推荐指数
2
解决办法
3041
查看次数

如何开始使用Chainsaw for Log4j?

我想开始使用Chainsaw v2.几乎没有关于它的信息.我发现只有这个,但链接无法打开,所以不清楚.

我使用socketAppender:

log4j.rootLogger=DEBUG, server

log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000
Run Code Online (Sandbox Code Playgroud)

我创建了文件log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
   <appender name="A2" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.SimpleLayout"/>
   </appender>

   <plugin name="SocketReceiver" class="org.apache.log4j.net.SocketReceiver">
      <param name="Port" value="4712"/>
   </plugin>

   <root>
      <level value="debug"/>
   </root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)

并选择它let me search for configuration file.但是没有日志.接下来我该怎么办?

java log4j appender apache-chainsaw

6
推荐指数
1
解决办法
6700
查看次数

如何在Eclipse中设置log4j.properties?

我正在尝试运行此示例,但我在配置方面存在一些问题.

我复制log4j-jms.properties,jndi.properties,Log4jJMSAppenderExample.java

ProjectJMS
|
\_ src
|   \_ Log4jJMSAppenderExample.java
|   \_ jndi.propeties
\_ log4j-jms.properties
Run Code Online (Sandbox Code Playgroud)

activemq在我的控制台中运行.

当我运行我的例子时,我得到了

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.`PropertyConfigurator.configure("log4j-jms.properties");`
Run Code Online (Sandbox Code Playgroud)

所以我补充道

PropertyConfigurator.configure("log4j-jms.properties");
Run Code Online (Sandbox Code Playgroud)

现在我可以在Eclipse控制台中看到日志,但仍然有这个警告

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2012-08-13 10:21:44,741 INFO  Log4jJMSAppenderExample - Test log
Received …
Run Code Online (Sandbox Code Playgroud)

java log4j jms appender

6
推荐指数
1
解决办法
4万
查看次数

NullpointerException for console appender for Log4j2

My application logging crashes during maven build in the tests. This is the log4j2.xml what I have in the src/test/resources:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="stdout" target="SYSTEM_OUT">
            <PatternLayout pattern="MyApp: %d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] %c{1.} - %m%n" />
        </Console>
    </Appenders>

    <Loggers>
        <Logger name="com.my.app" level="info" additivity="false">
            <Appender-ref ref="stdout"/>
        </Logger>
        <Root level="error">
            <Appender-ref ref="stdout"/>
        </Root>
    </Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)

And I get this exception during test during build:

2017-11-23 15:12:28,371 main ERROR An exception occurred processing Appender stdout java.lang.NullPointerException
    at org.apache.logging.log4j.core.impl.ThrowableProxy.toExtendedStackTrace(ThrowableProxy.java:671)
    at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:138) …
Run Code Online (Sandbox Code Playgroud)

java appender maven consoleappender log4j2

6
推荐指数
1
解决办法
6849
查看次数