You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "vibin (JIRA)" <ji...@apache.org> on 2014/03/04 16:09:23 UTC
[jira] [Updated] (LOG4J2-561) Custom appender configuration help.
[ https://issues.apache.org/jira/browse/LOG4J2-561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
vibin updated LOG4J2-561:
-------------------------
Description:
Can anyone please explain how to configure a custom appender..?
here is my code it did not work..
@Plugin(name = "EM_Appender", category = "Core", elementType = "appender", printObject = true)
public final class EventManagerAppender extends AbstractAppender{
protected EventManagerAppender(String name, Filter filter, Layout<? extends Serializable> layout,
boolean ignoreExceptions)
{
super(name, filter, layout, ignoreExceptions);
// TODO Auto-generated constructor stub
}
/* @SuppressWarnings("rawtypes")
private EventManagerAppender(String name, Layout layout, Filter filter,
boolean ignoreExceptions) {
}*/
@PluginFactory
public static EventManagerAppender createAppender(@PluginAttribute("name") String name,
@PluginAttribute("ignoreExceptions") String ignore,
@PluginElement("Layout") Layout layout,
@PluginElement("Filters") Filter filter) {
boolean ignoreExceptions = Boolean.parseBoolean(ignore);
if (name == null) {
return null;
}
if (layout == null) {
layout = PatternLayout.createLayout(null, null, null, null, ignore, ignore);
}
return new EventManagerAppender(name, filter,layout, ignoreExceptions);
}
/**
* The append method starts a job to send a message to the default console.
*/
public void append(LogEvent event) {
System.out.println(event.getMessage());
System.out.println("Custome appender");
}
}
XML configuration
**********************
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" strict="true" name="XMLConfigTest"
packages="org.apache.logging.log4j.test,com.mycompany.abc.def.log.wrapper" monitorInterval="30">
<Properties>
<Property name="filename">C:/Logs/test1.log</Property>
</Properties>
<Filter type="ThresholdFilter" level="warn"/>
<Appenders>
<Appender type="File" name="File" fileName="${filename}">
<Layout type="PatternLayout">
<Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
</Layout>
</Appender>
<EM_Appender name="EventManager_Appender">
<Layout type="PatternLayout">
<Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
</Layout>
</EM_Appender>
</Appenders>
<Loggers>
<Logger name="com.hp.im.dp" level="trace" additivity="false">
<AppenderRef ref="File"/>
</Logger>
<Root level="trace">
<AppenderRef ref="File"/>
<AppenderRef ref="EM_Appender"/>
</Root>
</Loggers>
</Configuration>
was:
Can you anyone please explain how to configure a custom appender..?
here is my code it did not work..
@Plugin(name = "EM_Appender", category = "Core", elementType = "appender", printObject = true)
public final class EventManagerAppender extends AbstractAppender{
protected EventManagerAppender(String name, Filter filter, Layout<? extends Serializable> layout,
boolean ignoreExceptions)
{
super(name, filter, layout, ignoreExceptions);
// TODO Auto-generated constructor stub
}
/* @SuppressWarnings("rawtypes")
private EventManagerAppender(String name, Layout layout, Filter filter,
boolean ignoreExceptions) {
}*/
@PluginFactory
public static EventManagerAppender createAppender(@PluginAttribute("name") String name,
@PluginAttribute("ignoreExceptions") String ignore,
@PluginElement("Layout") Layout layout,
@PluginElement("Filters") Filter filter) {
boolean ignoreExceptions = Boolean.parseBoolean(ignore);
if (name == null) {
return null;
}
if (layout == null) {
layout = PatternLayout.createLayout(null, null, null, null, ignore, ignore);
}
return new EventManagerAppender(name, filter,layout, ignoreExceptions);
}
/**
* The append method starts a job to send a message to the default console.
*/
public void append(LogEvent event) {
System.out.println(event.getMessage());
System.out.println("Custome appender");
}
}
XML configuration
**********************
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" strict="true" name="XMLConfigTest"
packages="org.apache.logging.log4j.test,com.mycompany.abc.def.log.wrapper" monitorInterval="30">
<Properties>
<Property name="filename">C:/Logs/test1.log</Property>
</Properties>
<Filter type="ThresholdFilter" level="warn"/>
<Appenders>
<Appender type="File" name="File" fileName="${filename}">
<Layout type="PatternLayout">
<Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
</Layout>
</Appender>
<EM_Appender name="EventManager_Appender">
<Layout type="PatternLayout">
<Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
</Layout>
</EM_Appender>
</Appenders>
<Loggers>
<Logger name="com.hp.im.dp" level="trace" additivity="false">
<AppenderRef ref="File"/>
</Logger>
<Root level="trace">
<AppenderRef ref="File"/>
<AppenderRef ref="EM_Appender"/>
</Root>
</Loggers>
</Configuration>
> Custom appender configuration help.
> -----------------------------------
>
> Key: LOG4J2-561
> URL: https://issues.apache.org/jira/browse/LOG4J2-561
> Project: Log4j 2
> Issue Type: Test
> Components: Appenders
> Affects Versions: 2.0-rc1
> Environment: Java
> Reporter: vibin
> Labels: appender, custom, customappender
> Fix For: 2.0-rc1
>
>
> Can anyone please explain how to configure a custom appender..?
> here is my code it did not work..
> @Plugin(name = "EM_Appender", category = "Core", elementType = "appender", printObject = true)
> public final class EventManagerAppender extends AbstractAppender{
>
> protected EventManagerAppender(String name, Filter filter, Layout<? extends Serializable> layout,
> boolean ignoreExceptions)
> {
> super(name, filter, layout, ignoreExceptions);
> // TODO Auto-generated constructor stub
> }
> /* @SuppressWarnings("rawtypes")
> private EventManagerAppender(String name, Layout layout, Filter filter,
> boolean ignoreExceptions) {
> }*/
>
>
> @PluginFactory
> public static EventManagerAppender createAppender(@PluginAttribute("name") String name,
> @PluginAttribute("ignoreExceptions") String ignore,
> @PluginElement("Layout") Layout layout,
> @PluginElement("Filters") Filter filter) {
>
> boolean ignoreExceptions = Boolean.parseBoolean(ignore);
> if (name == null) {
> return null;
> }
>
> if (layout == null) {
> layout = PatternLayout.createLayout(null, null, null, null, ignore, ignore);
> }
> return new EventManagerAppender(name, filter,layout, ignoreExceptions);
> }
>
> /**
> * The append method starts a job to send a message to the default console.
> */
> public void append(LogEvent event) {
> System.out.println(event.getMessage());
> System.out.println("Custome appender");
> }
> }
> XML configuration
> **********************
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="warn" strict="true" name="XMLConfigTest"
> packages="org.apache.logging.log4j.test,com.mycompany.abc.def.log.wrapper" monitorInterval="30">
> <Properties>
> <Property name="filename">C:/Logs/test1.log</Property>
> </Properties>
> <Filter type="ThresholdFilter" level="warn"/>
>
> <Appenders>
> <Appender type="File" name="File" fileName="${filename}">
> <Layout type="PatternLayout">
> <Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
> </Layout>
> </Appender>
> <EM_Appender name="EventManager_Appender">
> <Layout type="PatternLayout">
> <Pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L:%t] %m%n</Pattern>
> </Layout>
> </EM_Appender>
> </Appenders>
>
> <Loggers>
> <Logger name="com.hp.im.dp" level="trace" additivity="false">
> <AppenderRef ref="File"/>
> </Logger>
> <Root level="trace">
> <AppenderRef ref="File"/>
> <AppenderRef ref="EM_Appender"/>
> </Root>
> </Loggers>
>
> </Configuration>
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org