相关疑难解决方法(0)

如何在log4j2中创建自定义Appender?

正如在这个链接中所讨论的:如何在log4j中创建自己的Appender?

为了在log4j 1.x中创建自定义appender,我们必须扩展AppenderSkeleton类并实现其append方法.

类似地我们如何在log4j2中创建自定义appender,因为我们没有扩展AppenderSkelton类,所有其他appender扩展AppenderBase类.

java logging log4j log4j2

48
推荐指数
2
解决办法
4万
查看次数

log4j2 配置不会加载自定义模式转换器

我正在尝试为 log4j 2.0 创建自定义模式转换器,但在让我的 log4j 配置识别模式时遇到问题。这是自定义转换器:

package com.test.log4j.plugins;

import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.pattern.ConverterKeys;
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;

@Plugin(name="MarkerNamePatternConverter", category="Converter")
@ConverterKeys({"markername"})
public class MarkerNamePatternConverter extends LogEventPatternConverter {

    public static MarkerNamePatternConverter newInstance(final String[] options) {
        return new MarkerNamePatternConverter("markername", "markername");
    }

    protected MarkerNamePatternConverter(String name, String style) {
        super(name, style);
    }

    @Override
    public void format(LogEvent event, StringBuilder toAppendTo) {
        Marker marker = event.getMarker();
        if (marker != null) {
            // MarkerPatternConverter appends Marker.toString()
            // which includes the parents of the marker.  We just
            // …
Run Code Online (Sandbox Code Playgroud)

java logging plugins converter log4j2

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

带有第 3 方附加程序的 log4j2

我正在尝试在 Java 应用程序(这是一个 Web API)中设置一些第三方 appender - appender 是作为依赖项添加的库。这是一个 Maven 应用程序,这些库是 Raven(通过 Sentry)和 Logentries。他们接受日志并提供图形用户界面来查看它们。

本地工作正常 - 当整个应用程序在本地运行时,日志成功显示在 Logentries 和 Sentry 中。在两种环境中都成功找到并解析了配置。我log4j2.xml在为两种环境启动服务器时的配置和输出包含在下面。

在登台环境中,我看到日志说 CLASS_NOT_FOUND,所以这可能是一个类路径问题?有任何想法吗?

配置

<?xml version="1.0" encoding="utf-8"?>
<configuration status="all">
    <properties>
        <property name="pattern">%d{hh:mm:ss.sss} [mode=${env:MODE}] [%t] %-5level %logger{36} - %msg%n</property>
    </properties>
    <appenders>
        <console name="console" target="system_out">
            <patternlayout pattern="${pattern}"/>
        </console>
        <raven name="sentry">
            <dsn>[dsn_here]</dsn>
            <patternlayout pattern="${pattern}"/>
            <!--to turn down the noise-->
            <!--<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>-->
        </raven>
        <logentries name="le">
            <token>[token_here]</token>
            <patternlayout pattern="${pattern}"/>
            <!--to turn down the noise-->
            <!--<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>-->
        </logentries>
    </appenders> …
Run Code Online (Sandbox Code Playgroud)

java sentry logentries log4j2

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

标签 统计

java ×3

log4j2 ×3

logging ×2

converter ×1

log4j ×1

logentries ×1

plugins ×1

sentry ×1