Maybe, but the point is that the batch is managed by the appender, so there is no need for a new method in the Appender interface.
Ralph > On Jan 9, 2018, at 2:20 PM, Matt Sicker <boa...@gmail.com> wrote: > > A common source of problems with custom plugins is related to the > Log4j2Plugins.dat file not being generated or being included on the > classpath. If you shade everything into a single jar, for example, you need > to use a custom shade rule to merge the plugin dat files (I've seen some > shade plugins include this feature natively for log4j2 specifically). > > If you could share more info about how you build your application, that > would be super helpful! > >> On 9 January 2018 at 12:28, Asma Zinneera Jabir <azinne...@gmail.com> wrote: >> >> I am using the Routing Appender in Log4J2 to route to different log files. >> The path is determined by a custom LookUp. The configuration and the lookup >> are as follows. >> >> *Log4j2.xml Routing appender* >> >> <Routing name="Routing"> >> <Routes pattern="$${path:key2}"> >> <Route> >> <RollingFile name="ABC_LOGFILE" >> fileName="${sys:abc.home}/${path:key2}.log" >> >> filePattern="${sys:abc.home}/${path:key2}-%d{MM-dd-yyyy}-%i.log"> >> <PatternLayout pattern="[%d] %5p {%c} - %m%ex%n" /> >> <Policies> >> <SizeBasedTriggeringPolicy size="50 MB" /> >> </Policies> >> <DefaultRolloverStrategy max="100" /> >> </RollingFile> >> </Route> >> </Routes> >> </Routing> >> >> *Custom Lookup* >> >> @Plugin(name = "path", category = StrLookup.CATEGORY) >> public class LogFilePathLookup implements StrLookup { >> private static String logFilePath = "abc"; >> >> @Override >> public String lookup(String key) { >> return null; >> } >> >> @Override >> public String lookup(LogEvent logEvent, String key) { >> return logFilePath; >> } >> >> /** >> * Sets the log file path. >> * >> * @param logFilePath log file path >> */ >> public static void setLogFilePath(String logFilePath) { >> LogFilePathLookup.logFilePath = logFilePath; >> } >> } >> >> This works perfectly when I run on the IDE (Intellij IDEA) with the VM >> options set as >> -Dlog4j.configurationFile=/path/to/log4j2.xml >> -Dabc.home=/home/asma/abchome >> >> and some program arguments. But when the same is run in the terminal as >> >> java -Dlog4j.configurationFile=/path/to/log4j2.xml >> -Dabc.home=/home/asma/abchome -jar *<program_arguments>* >> >> the name of the log file getting created is ${path:key2}.log, meaning it is >> not replaced by the lookup String value. What could be the reason for this? >> >> >> >> Regards, >> Asma >> > > > > -- > Matt Sicker <boa...@gmail.com> --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org