Shoot. Replied to the wrong email. Sent from my iPhone
> On Jan 9, 2018, at 3:00 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > 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 > > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org