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 "Ralph Goers (JIRA)" <ji...@apache.org> on 2014/03/04 17:15:22 UTC
[jira] [Commented] (LOG4J2-561) Custom appender configuration help.
[ https://issues.apache.org/jira/browse/LOG4J2-561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13919563#comment-13919563 ]
Ralph Goers commented on LOG4J2-561:
------------------------------------
I see that you have strict="true" and you specified the FileAppender in that format. With strict mode your Appender should be configured as
{code}
<Appender type="EM_Appender" name="EM_Appender>
{code}
> Custom appender configuration help.
> -----------------------------------
>
> Key: LOG4J2-561
> URL: https://issues.apache.org/jira/browse/LOG4J2-561
> Project: Log4j 2
> Issue Type: Question
> 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 add a new(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="EM_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