Java 如何在spring中为log4j2创建自定义appender
根据建议进行了修改,所以现在当我尝试运行应用程序时,MyCustomAppender中的append()函数仍然没有被调用,尽管我在主应用程序中触发了log.error。也许我错过了什么? 这是春天的问题吗?我在MyCustomAppender中设置了断点,根本没有调用任何东西 谢谢 以下是原问题: 我在谷歌上搜索了很多关于为log4j2创建自定义appender的信息,因为我需要处理日志信息并发送到我们的日志服务器,我搜索了很多,没有任何效果,这就是我所做的,希望您能对错误的位置提出建议Java 如何在spring中为log4j2创建自定义appender,java,logging,log4j,log4j2,appender,Java,Logging,Log4j,Log4j2,Appender,根据建议进行了修改,所以现在当我尝试运行应用程序时,MyCustomAppender中的append()函数仍然没有被调用,尽管我在主应用程序中触发了log.error。也许我错过了什么? 这是春天的问题吗?我在MyCustomAppender中设置了断点,根本没有调用任何东西 谢谢 以下是原问题: 我在谷歌上搜索了很多关于为log4j2创建自定义appender的信息,因为我需要处理日志信息并发送到我们的日志服务器,我搜索了很多,没有任何效果,这就是我所做的,希望您能对错误的位置提出建议 pa
package demo;
import java.io.Serializable;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
@Plugin(category = "Core", name = "MyCustomAppender")
public class MyCustomAppender extends AbstractAppender {
protected MyCustomAppender(String name, Filter filter,
Layout<? extends Serializable> layout) {
super(name, filter, layout);
// TODO Auto-generated constructor stub
}
@PluginFactory
public static MyCustomAppender createAppender(
@PluginAttribute("name") String name) {
// note: in this example the class name matches the @Plugin name,
// but this is not required.
return new MyCustomAppender(name, null, null);
}
@Override
public void append(LogEvent arg0) {
// TODO Auto-generated method stub
System.out.print("inside here 123");
}
}
我希望警告消息可以触发myCustomAppender类中的append()方法,但从未发生过
我这里缺少什么吗?您的配置有
,但您的MyCustomAppender
是否在包“demo”中?换言之,是自定义appenderdemo.MyCustomAppender
的完全限定类名吗
如果没有,请在
包属性中输入自定义附加器的正确包名
其次,您将自定义插件的名称声明为“MyCustomAppender”(在@plugin(category=“Core”,name=“MyCustomAppender”)
中)。但是,您的配置引用了未知的
。将StubAppender替换为
为了帮助进行故障排除,您可以将内部log4j状态日志级别设置为在配置中跟踪:
您的配置具有
,但您的MyCustomAppender
是否在包“demo”中?换言之,是自定义appenderdemo.MyCustomAppender
的完全限定类名吗
如果没有,请在
包属性中输入自定义附加器的正确包名
其次,您将自定义插件的名称声明为“MyCustomAppender”(在@plugin(category=“Core”,name=“MyCustomAppender”)
中)。但是,您的配置引用了未知的
。将StubAppender替换为
为了帮助进行故障排除,您可以在配置中将内部log4j状态日志级别设置为跟踪:我仔细检查了我的pom文件,发现有错误。我必须把
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
org.springframework.boot
spring启动程序日志记录
在spring boot内部,谢谢我仔细检查了我的pom文件,发现有错误。我必须把
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
@Plugin(name = "MyCustomAppender", category = Node.CATEGORY, elementType = "appender", printObject = true)
org.springframework.boot
spring启动程序日志记录
里面是弹簧靴,谢谢
@Plugin(name = "MyCustomAppender", category = Node.CATEGORY, elementType = "appender", printObject = true)
您需要像这样更改注释
不要忘记在log4j2.xml中添加配置,如下所示
<Configuration packages="yourAppenderPackageName">
您需要像这样更改注释
不要忘记在log4j2.xml中添加配置,如下所示
<Configuration packages="yourAppenderPackageName">
如果您的问题已被回答,请将其关闭。如果您的问题已被回答,请将其关闭。